Проблема с вызовом __setitem__

Рейтинг: 2Ответов: 1Опубликовано: 03.02.2011

Пытаюсь унаследовать класс mechanize.Browser:

from mechanize import Browser
class LLManager(Browser, object):
    IS_AUTHORIZED = False
    def __init__(self, login = "", passw = "", *args, **kwargs):
        super(LLManager, self).__init__(*args, **kwargs)
        self.set_handle_robots(False)

Но когда я делаю что-нибудь такое:

lm["Widget[LinksList]_link_1_title"] = anc

выдаётся ошибка:

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    lm["Widget[LinksList]_link_1_title"] = anc
TypeError: 'LLManager' object does not support item assignment

А когда вот так:

>>> m.__setitem__("Widget[LinksList]_link_1_title", anc)
>>> print lm.form
  <TextControl(Widget[LinksList]_link_1_title=Джинсовый чел)>
  <TextControl(Widget[LinksList]_link_1_url=http://)>

, то всё работает.

Метод __setitem__ класса у Browser и выше не перегружен.

Почему мой класс или экземпляр не наследуют этот метод как у родителя?

Ответы

Ответов пока нет.