All pastes #1093120 Raw Edit

Miscellany

public text v1 · immutable
#1093120 ·published 2008-08-05 20:03 UTC
rendered paste body
<type 'exceptions.AttributeError'>
Python 2.5.2: /usr/bin/python
Tue Aug  5 20:57:40 2008

A problem occurred in a Python script.  Here is the sequence of
function calls leading up to the error, in the order they occurred.

 /usr/lib/python2.5/site-packages/elisa/plugins/pigment/pigment_frontend.py in handle_input(self=<elisa.plugins.pigment.pigment_frontend.PigmentFrontend object at 0x7f80be24dcd0>, input_manager=<InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>, input_event=<elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>)
  430     def handle_input(self, input_manager, input_event):
  431         # forward it to the controller
  432         self.controller.handle_input(input_manager, input_event)
  433 
  434     def _initialize_theme(self):
self = <elisa.plugins.pigment.pigment_frontend.PigmentFrontend object at 0x7f80be24dcd0>
self.controller = <PoblesecController object at 0x7f80be31cf00 (GObject at 0x398c160)>
self.controller.handle_input = <bound method PoblesecController.handle_input of...object at 0x7f80be31cf00 (GObject at 0x398c160)>>
input_manager = <InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>
input_event = <elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>

 /usr/lib/python2.5/site-packages/elisa/plugins/poblesec/main.py in handle_input(self=<PoblesecController object at 0x7f80be31cf00 (GObject at 0x398c160)>, manager=<InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>, input_event=<elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>)
  269     def handle_input(self, manager, input_event):
  270 
  271         if self.focused_controller.handle_input(manager, input_event):
  272             return True
  273 
self = <PoblesecController object at 0x7f80be31cf00 (GObject at 0x398c160)>
self.focused_controller = <PlayerController object at 0x7f80b812c9b0 (GObject at 0x3b55120)>
self.focused_controller.handle_input = <bound method PlayerController.handle_input of <...object at 0x7f80b812c9b0 (GObject at 0x3b55120)>>
manager = <InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>
input_event = <elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>

 /usr/lib/python2.5/site-packages/elisa/plugins/poblesec/poblesec_browser_controller.py in handle_input(self=<PoblesecBrowserController object at 0x7f80be31cf50 (GObject at 0x3a2d700)>, manager=<InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>, input_event=<elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>)
  603 
  604         if self.history.current.has_focus() == True and \
  605                 self.history.current.handle_input(manager, input_event) == True:
  606             return True
  607 
self = <PoblesecBrowserController object at 0x7f80be31cf50 (GObject at 0x3a2d700)>
self.history = <History object at 0x7f80be3472d0 (elisa+plugins+poblesec+history+History at 0x3a2d800)>
self.history.current = <TracksListSwitcher object at 0x7f80b5309dc0 (GObject at 0x4c39a60)>
self.history.current.handle_input = <bound method TracksListSwitcher.handle_input of...object at 0x7f80b5309dc0 (GObject at 0x4c39a60)>>
manager = <InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>
input_event = <elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>
builtinTrue = True

 /usr/lib/python2.5/site-packages/elisa/plugins/poblesec/list_switcher.py in handle_input(self=<TracksListSwitcher object at 0x7f80b5309dc0 (GObject at 0x4c39a60)>, manager=<InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>, input_event=<elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>)
   90 
   91     def handle_input(self, manager, input_event):
   92         return self.list_controller.handle_input(manager, input_event)
   93 
   94     def prepare(self):
self = <TracksListSwitcher object at 0x7f80b5309dc0 (GObject at 0x4c39a60)>
self.list_controller = <TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>
self.list_controller.handle_input = <bound method TracksDbVerticalWithPreview.handle...object at 0x7f80b5309b90 (GObject at 0x4a43b00)>>
manager = <InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>
input_event = <elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>

 /usr/lib/python2.5/site-packages/elisa/plugins/poblesec/fast_scroll_controller.py in handle_input(self=<TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>, manager=<InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>, input_event=<elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>)
  172                 self._shortcut_selected(shortcut)
  173                 return True
  174 
  175         return super(FastScrollListController, self).handle_input(manager,
  176                                                                   input_event)
input_event = <elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>

 /usr/lib/python2.5/site-packages/elisa/plugins/poblesec/vertical_list.py in handle_input(self=<TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>, manager=<InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>, input_event=<elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>)
   58         elif input_event.value == EventValue.KEY_GO_DOWN:
   59             self.nodes.selected_item_index += 1
   60             return True
   61         else:
   62             return super(VerticalListController, self).handle_input(manager, input_event)
builtinsuper = <type 'super'>
global VerticalListController = <class 'elisa.plugins.poblesec.vertical_list.VerticalListController'>
self = <TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>
).handle_input = <bound method TracksDbVerticalWithPreview.handle...object at 0x7f80b5309b90 (GObject at 0x4a43b00)>>
manager = <InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>
input_event = <elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>

 /usr/lib/python2.5/site-packages/elisa/plugins/poblesec/list_controller.py in handle_input(self=<TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>, manager=<InputManager object at 0x7f80c2877460 (elisa+core+input_manager+InputManager at 0x2a638a0)>, input_event=<elisa.core.input_event.InputEvent instance at 0x7f80b53074d0>)
   83             try:
   84                 item = self.nodes.model[self.nodes.selected_item_index]
   85                 self.node_clicked(self.nodes, item)
   86             except IndexError:
   87                 self.debug("selected-item-index out of range: %s" % self.nodes.selected_item_index)
self = <TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>
self.node_clicked = <bound method TracksDbVerticalWithPreview.node_c...object at 0x7f80b5309b90 (GObject at 0x4a43b00)>>
self.nodes = <ListVertical object at 0x4970690 (elisa+plugins+pigment+widgets+list+List at 0x43cf880)>
item = <elisa.plugins.database.models.MusicTrack object at 0x4977b50>

 /usr/lib/python2.5/site-packages/elisa/plugins/poblesec/artists_browser.py in node_clicked(self=<TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>, widget=<ListVertical object at 0x4970690 (elisa+plugins+pigment+widgets+list+List at 0x43cf880)>, model=<elisa.plugins.database.models.MusicTrack object at 0x4977b50>)
  343         if selected_item != self._previous_clicked:
  344             self._previous_clicked = selected_item
  345             self.play_audio(model)
  346 
  347     def play_audio(self, model):
self = <TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>
self.play_audio = <bound method TracksDbVerticalWithPreview.play_a...object at 0x7f80b5309b90 (GObject at 0x4a43b00)>>
model = <elisa.plugins.database.models.MusicTrack object at 0x4977b50>

 /usr/lib/python2.5/site-packages/elisa/plugins/database/controller.py in play_audio(self=<TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>, model=<elisa.plugins.database.models.MusicTrack object at 0x4977b50>)
  280         main = controllers[0]
  281         main.show_music_player()
  282         self.stop_loading_animation()
  283 
  284         # enqueue all the following items of the container
self = <TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>
self.stop_loading_animation = <bound method TracksDbVerticalWithPreview.stop_l...object at 0x7f80b5309b90 (GObject at 0x4a43b00)>>

 /usr/lib/python2.5/site-packages/elisa/plugins/poblesec/list_controller.py in stop_loading_animation(self=<TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>)
   56         # copy&paste code.
   57         if self._previous_clicked and hasattr(self._previous_clicked, '_toggle_loading_animation'):
   58             self._previous_clicked._toggle_loading_animation(False)
   59             self._previous_clicked = None
   60 
self = <TracksDbVerticalWithPreview object at 0x7f80b5309b90 (GObject at 0x4a43b00)>
self._previous_clicked = <DoubleLineMenuItemWidget object at 0x497b370 (e...gins+pigment+widgets+widget+Widget at 0x46e2d60)>
self._previous_clicked._toggle_loading_animation = <bound method DoubleLineMenuItemWidget._toggle_l...ins+pigment+widgets+widget+Widget at 0x46e2d60)>>
builtinFalse = False

 /usr/lib/python2.5/site-packages/elisa/plugins/poblesec/section.py in _toggle_loading_animation(self=<DoubleLineMenuItemWidget object at 0x497b370 (e...gins+pigment+widgets+widget+Widget at 0x46e2d60)>, enabled=False)
  104             self._allow_animation = False
  105             self._loading = False
  106             self._interaction.clear()
  107             self._interaction.visible = False
  108             settings = {'end_callback' : lambda ctrl: self._toggle_loading_animation(True),
self = <DoubleLineMenuItemWidget object at 0x497b370 (e...gins+pigment+widgets+widget+Widget at 0x46e2d60)>
self._interaction undefined
<type 'exceptions.AttributeError'>: 'DoubleLineMenuItemWidget' object has no attribute '_interaction'
    __class__ = <type 'exceptions.AttributeError'>
    __delattr__ = <method-wrapper '__delattr__' of exceptions.AttributeError object at 0x495aab8>
    __dict__ = {}
    __doc__ = 'Attribute not found.'
    __getattribute__ = <method-wrapper '__getattribute__' of exceptions.AttributeError object at 0x495aab8>
    __getitem__ = <method-wrapper '__getitem__' of exceptions.AttributeError object at 0x495aab8>
    __getslice__ = <method-wrapper '__getslice__' of exceptions.AttributeError object at 0x495aab8>
    __hash__ = <method-wrapper '__hash__' of exceptions.AttributeError object at 0x495aab8>
    __init__ = <method-wrapper '__init__' of exceptions.AttributeError object at 0x495aab8>
    __new__ = <built-in method __new__ of type object at 0x7f80cf44d820>
    __reduce__ = <built-in method __reduce__ of exceptions.AttributeError object at 0x495aab8>
    __reduce_ex__ = <built-in method __reduce_ex__ of exceptions.AttributeError object at 0x495aab8>
    __repr__ = <method-wrapper '__repr__' of exceptions.AttributeError object at 0x495aab8>
    __setattr__ = <method-wrapper '__setattr__' of exceptions.AttributeError object at 0x495aab8>
    __setstate__ = <built-in method __setstate__ of exceptions.AttributeError object at 0x495aab8>
    __str__ = <method-wrapper '__str__' of exceptions.AttributeError object at 0x495aab8>
    args = ("'DoubleLineMenuItemWidget' object has no attribute '_interaction'",)
    message = "'DoubleLineMenuItemWidget' object has no attribute '_interaction'"

The above is a description of an error in a Python program.  Here is
the original traceback:

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/elisa/plugins/pigment/pigment_frontend.py", line 432, in handle_input
    self.controller.handle_input(input_manager, input_event)
  File "/usr/lib/python2.5/site-packages/elisa/plugins/poblesec/main.py", line 271, in handle_input
    if self.focused_controller.handle_input(manager, input_event):
  File "/usr/lib/python2.5/site-packages/elisa/plugins/poblesec/poblesec_browser_controller.py", line 605, in handle_input
    self.history.current.handle_input(manager, input_event) == True:
  File "/usr/lib/python2.5/site-packages/elisa/plugins/poblesec/list_switcher.py", line 92, in handle_input
    return self.list_controller.handle_input(manager, input_event)
  File "/usr/lib/python2.5/site-packages/elisa/plugins/poblesec/fast_scroll_controller.py", line 176, in handle_input
    input_event)
  File "/usr/lib/python2.5/site-packages/elisa/plugins/poblesec/vertical_list.py", line 62, in handle_input
    return super(VerticalListController, self).handle_input(manager, input_event)
  File "/usr/lib/python2.5/site-packages/elisa/plugins/poblesec/list_controller.py", line 85, in handle_input
    self.node_clicked(self.nodes, item)
  File "/usr/lib/python2.5/site-packages/elisa/plugins/poblesec/artists_browser.py", line 345, in node_clicked
    self.play_audio(model)
  File "/usr/lib/python2.5/site-packages/elisa/plugins/database/controller.py", line 282, in play_audio
    self.stop_loading_animation()
  File "/usr/lib/python2.5/site-packages/elisa/plugins/poblesec/list_controller.py", line 58, in stop_loading_animation
    self._previous_clicked._toggle_loading_animation(False)
  File "/usr/lib/python2.5/site-packages/elisa/plugins/poblesec/section.py", line 106, in _toggle_loading_animation
    self._interaction.clear()
AttributeError: 'DoubleLineMenuItemWidget' object has no attribute '_interaction'