mod_python: multiple inheritance
Verfasst: Mittwoch 22. Februar 2006, 12:19
hallo python-gemeinde.
ich bin derzeit mit der entwicklung eines größeren online-projektes beschäftigt. dieses stützt sich zum zwecke der dynamischen seiten-erstellung auf mod_python.
das projekt ist inzwischen knapp 60 module groß und läuft rund - es ist nicht das erste mal, dass ich etwas in dieser größenordnung mittels mod_python realisiere, doch heute musste ich leider an einen punkt stoßen, an dem mich meine (mod_-)python-erfahrung nicht mehr weiter bringt.
folgende konstellation:
modul mod1.py
modul mod2.py
modul mod3.py
so weit, so gut.
wenn nun der code in mod3 ausgeführt wird, also eine instanz von MySecondDerive erzeugt wird, funktioniert vorerst alles wunderbar.
auch ein zweiter call des codes läuft einwandfrei.
doch irgendwann, meist bereits beim dritten durchlauf des codes, erhalte ich schließlich folgende exception:
mir scheint es nicht, als ob ein fehler in meinem code vorliegt - schließlich läuft er ja ein paar mal einwandfrei.
google möchte mir in der hinsicht auch nichts wirklich hilfreiches unterbreiten, daher nun mein post in diesem forum.
man könnte meinen, es würde sich um einen bug in mod_python handeln. daher hier die versions-nummern der verwandten komponenten:
python: 2.3.5
mod_python: 3.1.3
apache: 2.0.55
schon einmal vielen dank im vorraus!
grüße aus hamburg,
simon
ich bin derzeit mit der entwicklung eines größeren online-projektes beschäftigt. dieses stützt sich zum zwecke der dynamischen seiten-erstellung auf mod_python.
das projekt ist inzwischen knapp 60 module groß und läuft rund - es ist nicht das erste mal, dass ich etwas in dieser größenordnung mittels mod_python realisiere, doch heute musste ich leider an einen punkt stoßen, an dem mich meine (mod_-)python-erfahrung nicht mehr weiter bringt.
folgende konstellation:
modul mod1.py
Code: Alles auswählen
class MyTestBase:
def __init__(self):
self.a = None
Code: Alles auswählen
from mod1 import MyTestBase
class MyFirstDerive(MyTestBase):
def __init__(self):
MyTestBase.__init__(self)
class MySecondDerive(MyFirstDerive):
def __init__(self):
MyFirstDerive.__init__(self)
Code: Alles auswählen
from mod2 import MySecondDerive
blub = MySecondDerive()
wenn nun der code in mod3 ausgeführt wird, also eine instanz von MySecondDerive erzeugt wird, funktioniert vorerst alles wunderbar.
auch ein zweiter call des codes läuft einwandfrei.
doch irgendwann, meist bereits beim dritten durchlauf des codes, erhalte ich schließlich folgende exception:
Code: Alles auswählen
TypeError: unbound method __init__() must be called with MyFirstDerive instance as first argument (got MySecondDerive instance instead)
google möchte mir in der hinsicht auch nichts wirklich hilfreiches unterbreiten, daher nun mein post in diesem forum.
man könnte meinen, es würde sich um einen bug in mod_python handeln. daher hier die versions-nummern der verwandten komponenten:
python: 2.3.5
mod_python: 3.1.3
apache: 2.0.55
schon einmal vielen dank im vorraus!
grüße aus hamburg,
simon