У меня есть класс BaseHandler, который подклассов Tipfy RequestHandler на моем сайте AppEngine.В нем я настроил анализатор браузера «бедняга» для мобильных устройств с атрибутом класса (кортеж), содержащим имена устройств.
В следующем методе я перебираю имена устройств в кортеже и проверяюих против строки агента пользователя из объекта запроса.Если я получаю совпадение, я устанавливаю для атрибута экземпляра is_mobile значение True.
Однако в этом методе Python выдает ошибку «TypeError: аргумент типа« UserAgent »не повторяется»,и я не могу понять, почему, поскольку строка, на которую она жалуется, не является (насколько я понимаю) циклом.
Вот код:
class BaseHandler(RequestHandler, AppEngineAuthMixin, AllSessionMixins):
mobile_devices = ('Android', 'iPhone', 'iPod', 'Blackberry')
....
def detect_mobile_devices(self):
found_device = False
for device in self.__class__.mobile_devices:
if device in self.request.user_agent:
found_device = True
break
self.is_mobile = found_device
Вотстрока Python не нравится:
File "/path/to/project/app/apps/remember_things/handlers.py", line 56, in detect_mobile_devices
if device in self.request.user_agent: