2014-11-22 3 views
0

У меня возникла проблема с тестированием простого вызова Python Rest Когда я запускаю тест, я всегда получаю эту ошибку Что-то в коде, возможно, я обращаюсь к нулевому объекту но где Любая идея? Спасибо !WebPy 'NoneType' объект не имеет атрибута '__getitem__'

#!/usr/bin/env python 
import web 
import xml.etree.ElementTree as ET 

tree = ET.parse('user.xml') 
root = tree.getroot() 

urls = (
    '/users', 'list_users', 
    '/users/(.*)', 'get_user' 
) 

app = web.application(urls, globals()) 

class list_users: 
    def GET(self): 
     output = 'users:['; 
     for child in root: 
      print 'child', child.tag, child.attrib 
      output += str(child.attrib) + ',' 
     output += ']'; 
     return output 

class get_user: 
    def GET(self, user): 
     for child in root: 
      if child.attrib['id'] == user: 
       return str(child.attrib) 

if __name__ == '__main__': 
    app.run() 
+3

Вам нужно предоставить нам ** полный ** след. –

ответ

0

Вы сделали файл user.xml и сохранили его в том же каталоге, что и этот файл Python?

Я скопировал ваш код и запустил его, он работает. Поэтому проблема заключается, вероятно, в установке web.py.

Просто удалите все папки связанные с webpy и сделать это:

1) Скачать web.py - папку с here.

2) Из этого сохраните папку «Интернет» в вашем текущем каталоге.

3) Теперь запустите свою программу, она должна работать.