Diese Fehlermeldung taucht auf, wenn ich Youtube unter dem Media Center Elisa starte. Könnt Ihr mir bitte helfen, wäre echt nett.
<type 'exceptions.AttributeError'>
Python 2.5.1: /usr/bin/python
Wed Feb 20 14:54:36 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/good/pigment/pigment_input.py in _process_press_event(self=<pigment.pigment_input.PigmentInput object at 0x933fc6c>, viewport=<__main__.PgmGlViewport object (pgmglviewport0) at 0x9334194>, event=<PgmEvent at 0x9607b20>)
65 def _process_press_event(self, viewport, event):
66 elisa_event = self._create_event_with_type(event, EventType.KEY_DOWN)
67 self.input_manager.process_event(elisa_event, self.path)
68
69 def _process_release_event(self, viewport, event):
self = <pigment.pigment_input.PigmentInput object at 0x933fc6c>
self.input_manager = <elisa.core.input_manager.InputManager object at 0x89fc02c>
self.input_manager.process_event = <bound method InputManager.process_event of <eli....input_manager.InputManager object at 0x89fc02c>>
elisa_event = <elisa.core.input_event.InputEvent instance at 0x8a0204c>
self.path = 'pigment:pigment_input'
/usr/lib/python2.5/site-packages/elisa/core/input_manager.py in process_event(self=<elisa.core.input_manager.InputManager object at 0x89fc02c>, event=<elisa.core.input_event.InputEvent instance at 0x8a0204c>, provider_path='pigment:pigment_input')
94 return
95
96 self._emit_event(event, provider_path)
97
98 def register_component(self, component):
self = <elisa.core.input_manager.InputManager object at 0x89fc02c>
self._emit_event = <bound method InputManager._emit_event of <elisa....input_manager.InputManager object at 0x89fc02c>>
event = <elisa.core.input_event.InputEvent instance at 0x8a0204c>
provider_path = 'pigment:pigment_input'
/usr/lib/python2.5/site-packages/elisa/core/input_manager.py in _emit_event(self=<elisa.core.input_manager.InputManager object at 0x89fc02c>, event=<elisa.core.input_event.InputEvent instance at 0x8a0204c>, provider_path='pigment:pigment_input')
190 sig = getattr(self, sig_name)
191 except AttributeError:
192 self.debug("Input provider signal %r not found", sig_name)
193 else:
194 sig.emit(event)
sig = <Signal sig_pigment:pigment_input with 1 receivers>
sig.emit = <bound method Signal.emit of <Signal sig_pigment:pigment_input with 1 receivers>>
event = <elisa.core.input_event.InputEvent instance at 0x8a0204c>
/usr/lib/python2.5/site-packages/elisa/core/utils/signal.py in emit(self=<Signal sig_pigment:pigment_input with 1 receivers>, *args=(<elisa.core.input_event.InputEvent instance at 0x8a0204c>,), **kw={})
157
158 for receiver in self._receivers:
159 receiver(*args, **kw)
160
161 def _check_args_types(self, args, kw):
receiver = <bound method Backend.dispatch_input of <elisa.core.backend.Backend object at 0x9079f8c>>
args = (<elisa.core.input_event.InputEvent instance at 0x8a0204c>,)
kw = {}
/usr/lib/python2.5/site-packages/elisa/core/backend.py in dispatch_input(self=<elisa.core.backend.Backend object at 0x9079f8c>, input_event=<elisa.core.input_event.InputEvent instance at 0x8a0204c>)
115 while controller != None:
116 self.debug("Asking %s to handle %s" % (controller, input_event))
117 event_processed = controller.handle_input(input_event)
118 if event_processed == True:
119 break
event_processed = False
controller = <ListController current_index=1 25 items>
controller.handle_input = <bound method ListController.handle_input of <ListController current_index=1 25 items>>
input_event = <elisa.core.input_event.InputEvent instance at 0x8a0204c>
/usr/lib/python2.5/site-packages/elisa/plugins/bad/raval_frontend/list_controller.py in handle_input(self=<ListController current_index=1 25 items>, input_event=<elisa.core.input_event.InputEvent instance at 0x8a0204c>)
103
104 elif input_event.action == EventAction.OK:
105 self.activate_item(input_event.origin)
106 return True
107
self = <ListController current_index=1 25 items>
self.activate_item = <bound method ListController.activate_item of <ListController current_index=1 25 items>>
input_event = <elisa.core.input_event.InputEvent instance at 0x8a0204c>
input_event.origin = <elisa.core.frontend.Frontend object at 0x92e054c>
/usr/lib/python2.5/site-packages/elisa/plugins/bad/raval_frontend/list_controller.py in activate_item(self=<ListController current_index=1 25 items>, origin=<elisa.core.frontend.Frontend object at 0x92e054c>)
55
56 self.action_called = True
57 model.activate_action(self, origin)
58 self.action_called = False
59 else:
model = <base.models.menu_node_model.MenuNodeModel object at 0x9c4da6c>
model.activate_action = <xmlmenu.actions.videoplay_action.VideoplayAction object at 0x9c105cc>
self = <ListController current_index=1 25 items>
origin = <elisa.core.frontend.Frontend object at 0x92e054c>
/usr/lib/python2.5/site-packages/elisa/plugins/good/xmlmenu/actions/videoplay_action.py in __call__(self=<xmlmenu.actions.videoplay_action.VideoplayAction object at 0x9c105cc>, controller=<ListController current_index=1 25 items>, origin=<elisa.core.frontend.Frontend object at 0x92e054c>)
39
40 #self.player_model.playlist[:] = []
41 self.player_model.uri = model.uri
42 self.player_model.state = player.STATES.PLAYING
43 self.player_model.media_type = self.media_type
self = <xmlmenu.actions.videoplay_action.VideoplayAction object at 0x9c105cc>
self.player_model = <base.models.player_model.PlayerModel object at 0x920450c>
self.player_model.uri = youtube://video/cQ25-glGRzI
model = <base.models.menu_node_model.MenuNodeModel object at 0x9c4da6c>
model.uri = youtube://video/cQ25-glGRzI
/usr/lib/python2.5/site-packages/elisa/core/observers/observable.py in __setattr__(self=<base.models.player_model.PlayerModel object at 0x920450c>, key='uri', new_value=youtube://video/cQ25-glGRzI)
81 # notifies all the attached observers
82 self._send_message_to_observers("attribute_set", self, key,
83 old_value, new_value)
84
85 def _send_message_to_observers(self, message, *args):
old_value = None
new_value = youtube://video/cQ25-glGRzI
/usr/lib/python2.5/site-packages/elisa/core/observers/observable.py in _send_message_to_observers(self=<base.models.player_model.PlayerModel object at 0x920450c>, message='attribute_set', *args=(<base.models.player_model.PlayerModel object at 0x920450c>, 'uri', None, youtube://video/cQ25-glGRzI))
87 observer = weak_observer()
88 if observer == None:
89 continue
90 else:
91 getattr(observer, message)(*args)
builtingetattr = <built-in function getattr>
observer = <base.controllers.player_controller.PlayerController object at 0x92e06ec>
message = 'attribute_set'
args = (<base.models.player_model.PlayerModel object at 0x920450c>, 'uri', None, youtube://video/cQ25-glGRzI)
/usr/lib/python2.5/site-packages/elisa/plugins/base/controllers/player_controller.py in attribute_set(self=<base.controllers.player_controller.PlayerController object at 0x92e06ec>, origin=<base.models.player_model.PlayerModel object at 0x920450c>, key='uri', old_value=None, new_value=youtube://video/cQ25-glGRzI)
161 def attribute_set(self, origin, key, old_value, new_value):
162 self.debug("Attribute %r set to %r", key, new_value)
163 Controller.attribute_set(self, origin, key, old_value, new_value)
164 if key == 'state':
165 if self.state == new_value:
global Controller = <class 'elisa.base_components.controller.Controller'>
Controller.attribute_set = <unbound method Controller.attribute_set>
self = <base.controllers.player_controller.PlayerController object at 0x92e06ec>
origin = <base.models.player_model.PlayerModel object at 0x920450c>
key = 'uri'
old_value = None
new_value = youtube://video/cQ25-glGRzI
/usr/lib/python2.5/site-packages/elisa/base_components/controller.py in attribute_set(self=<base.controllers.player_controller.PlayerController object at 0x92e06ec>, origin=<base.models.player_model.PlayerModel object at 0x920450c>, key='uri', old_value=None, new_value=youtube://video/cQ25-glGRzI)
224 # update bindings
225 if key in self.bindings.keys():
226 self._update_bound_attributes(key)
227
228 def _delete_bound_attributes(self, model_attribute):
self = <base.controllers.player_controller.PlayerController object at 0x92e06ec>
self._update_bound_attributes = <bound method PlayerController._update_bound_att...controller.PlayerController object at 0x92e06ec>>
key = 'uri'
/usr/lib/python2.5/site-packages/elisa/base_components/controller.py in _update_bound_attributes(self=<base.controllers.player_controller.PlayerController object at 0x92e06ec>, model_attribute='uri')
260 else:
261 for attribute in child_attributes:
262 setattr(self, attribute, model_child_value)
263
264 def _update_bound_controller(self, attribute, model):
builtinsetattr = <built-in function setattr>
self = <base.controllers.player_controller.PlayerController object at 0x92e06ec>
attribute = 'uri'
model_child_value = youtube://video/cQ25-glGRzI
/usr/lib/python2.5/site-packages/elisa/core/observers/observable.py in __setattr__(self=<base.controllers.player_controller.PlayerController object at 0x92e06ec>, key='uri', new_value=youtube://video/cQ25-glGRzI)
81 # notifies all the attached observers
82 self._send_message_to_observers("attribute_set", self, key,
83 old_value, new_value)
84
85 def _send_message_to_observers(self, message, *args):
old_value = None
new_value = youtube://video/cQ25-glGRzI
/usr/lib/python2.5/site-packages/elisa/core/observers/observable.py in _send_message_to_observers(self=<base.controllers.player_controller.PlayerController object at 0x92e06ec>, message='attribute_set', *args=(<base.controllers.player_controller.PlayerController object at 0x92e06ec>, 'uri', None, youtube://video/cQ25-glGRzI))
87 observer = weak_observer()
88 if observer == None:
89 continue
90 else:
91 getattr(observer, message)(*args)
builtingetattr = <built-in function getattr>
observer = <poblenou_frontend.player_view.PlayerView object at 0x934df0c>
message = 'attribute_set'
args = (<base.controllers.player_controller.PlayerController object at 0x92e06ec>, 'uri', None, youtube://video/cQ25-glGRzI)
/usr/lib/python2.5/site-packages/elisa/plugins/bad/poblenou_frontend/player_view.py in attribute_set(self=<poblenou_frontend.player_view.PlayerView object at 0x934df0c>, origin=<base.controllers.player_controller.PlayerController object at 0x92e06ec>, key='uri', old_value=None, new_value=youtube://video/cQ25-glGRzI)
343 self.player.visualisation = None
344
345 super(PlayerView, self).attribute_set(origin, key, old_value, new_value)
346
347 def frontend_changed(self, previous_frontend, new_frontend):
builtinsuper = <type 'super'>
global PlayerView = <class 'poblenou_frontend.player_view.PlayerView'>
self = <poblenou_frontend.player_view.PlayerView object at 0x934df0c>
).attribute_set = <bound method PlayerView.attribute_set of <poble...tend.player_view.PlayerView object at 0x934df0c>>
origin = <base.controllers.player_controller.PlayerController object at 0x92e06ec>
key = 'uri'
old_value = None
new_value = youtube://video/cQ25-glGRzI
/usr/lib/python2.5/site-packages/elisa/plugins/base/views/player_view.py in attribute_set(self=<poblenou_frontend.player_view.PlayerView object at 0x934df0c>, origin=<base.controllers.player_controller.PlayerController object at 0x92e06ec>, key='uri', old_value=None, new_value=youtube://video/cQ25-glGRzI)
79 self.player.stop()
80 elif key == 'uri':
81 self.player.uri = new_value
82 self.uri_changed(new_value)
83 elif key == 'seek_to':
self = <poblenou_frontend.player_view.PlayerView object at 0x934df0c>
self.player = <elisa.core.player.Player object at 0x935504c>
self.player.uri = youtube://video/cQ25-glGRzI
new_value = youtube://video/cQ25-glGRzI
/usr/lib/python2.5/site-packages/elisa/core/player.py in uri__set(self=<elisa.core.player.Player object at 0x935504c>, uri=None)
425 bus = common.application.bus
426 uri = media_manager.get_real_uri(uri)
427 scheme = uri.scheme
428
429 if self._engine:
scheme undefined
uri = None
uri.scheme undefined
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'scheme'
__class__ = <type 'exceptions.AttributeError'>
__delattr__ = <method-wrapper '__delattr__' of exceptions.AttributeError object at 0x9aaaf8c>
__dict__ = {}
__doc__ = 'Attribute not found.'
__getattribute__ = <method-wrapper '__getattribute__' of exceptions.AttributeError object at 0x9aaaf8c>
__getitem__ = <method-wrapper '__getitem__' of exceptions.AttributeError object at 0x9aaaf8c>
__getslice__ = <method-wrapper '__getslice__' of exceptions.AttributeError object at 0x9aaaf8c>
__hash__ = <method-wrapper '__hash__' of exceptions.AttributeError object at 0x9aaaf8c>
__init__ = <method-wrapper '__init__' of exceptions.AttributeError object at 0x9aaaf8c>
__new__ = <built-in method __new__ of type object at 0x8141260>
__reduce__ = <built-in method __reduce__ of exceptions.AttributeError object at 0x9aaaf8c>
__reduce_ex__ = <built-in method __reduce_ex__ of exceptions.AttributeError object at 0x9aaaf8c>
__repr__ = <method-wrapper '__repr__' of exceptions.AttributeError object at 0x9aaaf8c>
__setattr__ = <method-wrapper '__setattr__' of exceptions.AttributeError object at 0x9aaaf8c>
__setstate__ = <built-in method __setstate__ of exceptions.AttributeError object at 0x9aaaf8c>
__str__ = <method-wrapper '__str__' of exceptions.AttributeError object at 0x9aaaf8c>
args = ("'NoneType' object has no attribute 'scheme'",)
message = "'NoneType' object has no attribute 'scheme'"
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/good/pigment/pigment_input.py", line 67, in _process_press_event
self.input_manager.process_event(elisa_event, self.path)
File "/usr/lib/python2.5/site-packages/elisa/core/input_manager.py", line 96, in process_event
self._emit_event(event, provider_path)
File "/usr/lib/python2.5/site-packages/elisa/core/input_manager.py", line 194, in _emit_event
sig.emit(event)
File "/usr/lib/python2.5/site-packages/elisa/core/utils/signal.py", line 159, in emit
receiver(*args, **kw)
File "/usr/lib/python2.5/site-packages/elisa/core/backend.py", line 117, in dispatch_input
event_processed = controller.handle_input(input_event)
File "/usr/lib/python2.5/site-packages/elisa/plugins/bad/raval_frontend/list_controller.py", line 105, in handle_input
self.activate_item(input_event.origin)
File "/usr/lib/python2.5/site-packages/elisa/plugins/bad/raval_frontend/list_controller.py", line 57, in activate_item
model.activate_action(self, origin)
File "/usr/lib/python2.5/site-packages/elisa/plugins/good/xmlmenu/actions/videoplay_action.py", line 41, in __call__
self.player_model.uri = model.uri
File "/usr/lib/python2.5/site-packages/elisa/core/observers/observable.py", line 83, in __setattr__
old_value, new_value)
File "/usr/lib/python2.5/site-packages/elisa/core/observers/observable.py", line 91, in _send_message_to_observers
getattr(observer, message)(*args)
File "/usr/lib/python2.5/site-packages/elisa/plugins/base/controllers/player_controller.py", line 163, in attribute_set
Controller.attribute_set(self, origin, key, old_value, new_value)
File "/usr/lib/python2.5/site-packages/elisa/base_components/controller.py", line 226, in attribute_set
self._update_bound_attributes(key)
File "/usr/lib/python2.5/site-packages/elisa/base_components/controller.py", line 262, in _update_bound_attributes
setattr(self, attribute, model_child_value)
File "/usr/lib/python2.5/site-packages/elisa/core/observers/observable.py", line 83, in __setattr__
old_value, new_value)
File "/usr/lib/python2.5/site-packages/elisa/core/observers/observable.py", line 91, in _send_message_to_observers
getattr(observer, message)(*args)
File "/usr/lib/python2.5/site-packages/elisa/plugins/bad/poblenou_frontend/player_view.py", line 345, in attribute_set
super(PlayerView, self).attribute_set(origin, key, old_value, new_value)
File "/usr/lib/python2.5/site-packages/elisa/plugins/base/views/player_view.py", line 81, in attribute_set
self.player.uri = new_value
File "/usr/lib/python2.5/site-packages/elisa/core/player.py", line 427, in uri__set
scheme = uri.scheme
AttributeError: 'NoneType' object has no attribute 'scheme'