Hallo an die Python kundigen, vor Jahren haben ein Arbeitskollege und ich waehrend eines Kurses ein kleines Plugin fuer eine DM8000 gebaut. Das Plugin liest auf Knopfdruck Werte aus einer auf dem lokalen Apache liegenden .html aus (Fuellstande eines Unterboden-Wassertanks). Die Werte werden per Skript stuendlich von der API auf die Webseite gelegt. Von dort hat die Dreambox mit dem Plugin die Werte auf dem TV angezeigt.
Ich verwende nun eine DM900 mit aktuellem NN² und habe das Plugin manuell in die entsprechende Directory geschoben, bei Aufruf crashed das Plugin. Was ich bereits gemacht habe sind alle Timer Callbacks entsprechend anzupassen. Kann mir evtl. anhand des Crashlogs jemand einen Schubs in die richtige Richtung geben, was ich noch aendern muss, um das Plugin unter OE2.5 lauffaehig zu machen?
Alles anzeigen
Ich verwende nun eine DM900 mit aktuellem NN² und habe das Plugin manuell in die entsprechende Directory geschoben, bei Aufruf crashed das Plugin. Was ich bereits gemacht habe sind alle Timer Callbacks entsprechend anzupassen. Kann mir evtl. anhand des Crashlogs jemand einen Schubs in die richtige Richtung geben, was ich noch aendern muss, um das Plugin unter OE2.5 lauffaehig zu machen?
Quellcode
- Screen <class 'Plugins.Extensions.Werte-Ermitteln.plugin.getvaluesMain'>((), {}): <type 'exceptions.AssertionError'>
- Traceback (most recent call last):
- File "/usr/lib/enigma2/python/mytest.py", line 350, in create
- return screen(self, *arguments, **kwargs)
- File "/usr/lib/enigma2/python/Plugins/Extensions/get-values/plugin.py", line 150, in __init__
- self.makeValueTimer_conn = self.makeValueTimer.timeout.connect(self.downloadValue(self.link, self.checkValue))
- File "/usr/lib/enigma2/python/enigma.py", line 7626, in connect
- slot = ePythonSlot0X(WeakMethodReference(func))
- File "/usr/lib/enigma2/python/enigma.py", line 7493, in __init__
- raise AssertionError("ERROR!!! try to create not callable WeakMethodReference", function)
- AssertionError: ('ERROR!!! try to create not callable WeakMethodReference', None)
- swig director exception (SWIG director method error.)
- 0xb4028068(sp=0xbebdb670) <__cxa_throw+168>
- 0x3993dc(sp=0xbebdb688) <SwigDirector_eActionSlot::action_func2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+848>
- 0xcefac(sp=0xbebdb6d0) <eActionMap::unbindKeyDomain(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+1164>
- 0xcd75c(sp=0xbebdb720) <eActionMap::keyPressed(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)+1480>
- 0xc5600(sp=0xbebdb7a8) <keyEvent(eRCKey const&)+276>
- 0x2807f8(sp=0xbebdb7d8) <eRCInput::keyPressed(eRCKey const&)+252>
- 0x2821f0(sp=0xbebdb800) <eRCDeviceInputDev::handleCode(long)+160>
- 0x27f644(sp=0xbebdb820) <eRCInputEventDriver::keyPressed(int)+120>
- 0xd4288(sp=0xbebdb848) <eSocketNotifier::activate(int)+272>
- 0xd5d70(sp=0xbebdb888) <eMainloop_native::processOneEvent(int)+2664>
- 0x2b2660(sp=0xbebdba38) <eMainloopQt::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+156>
- 0xb517122c(sp=0xbebdbb60) <QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+276>
- 0xb517a498(sp=0xbebdbba8) <QCoreApplication::exec()+148>
- 0x2b25a0(sp=0xbebdbbd8) <eMainloopQt::runLoop()+24>
- 0x2b8dc0(sp=0xbebdbbe0) <our_terminate()+4228>
- 0xb4aa350c(sp=0xbebdbbf8) <PyEval_EvalFrameEx+24024>
- Traceback (most recent call last):
- File "/usr/lib/enigma2/python/enigma.py", line 7533, in __call__
- return ret(*args, **kwargs)
- File "/usr/lib/enigma2/python/Components/ActionMap.py", line 51, in action
- res = self.actions[action]()
- File "/usr/lib/enigma2/python/Screens/PluginBrowser.py", line 48, in save
- self.run()
- File "/usr/lib/enigma2/python/Screens/PluginBrowser.py", line 52, in run
- plugin(session=self.session)
- File "/usr/lib/enigma2/python/Plugins/Extensions/get-values/plugin.py", line 840, in main
- session.open(getvaluesMain)
- File "/usr/lib/enigma2/python/mytest.py", line 459, in open
- dlg.isTmp = True
- AttributeError: 'NoneType' object has no attribute 'isTmp'