staticmethod and namespaces
darnzen
darnzen at gmail.com
Fri Feb 26 00:07:55 EST 2010
Having an odd problem that I solved, but wondering if its the best
solution (seems like a bit of a hack).
First off, I'm using an external DLL that requires static callbacks,
but because of this, I'm losing instance info. It could be import
related? It will make more sense after I diagram it:
#Module main.py
from A import *
class App:
def sperg(self):
self.a = A()
app = App()
[main loop and such]
-----------------------------
# Module A.py
import main
class Foo:
Selves=[]
def __init__(self):
Foo.Selves.append(self)
@staticmethod
def chum_callback(nType, nP):
# Need to access function / data in app instance
app.sperg(nP)
# Need to access func data in Foo
# I'm pulling 'self' ouf of list made in constructor
self = Foo.getSelf(nP)
def getSelf(nP):
return self.Selves[nP]
---------------------------------------------------------------------
So basically I added a list of instances to the base class so I can
get at them from the staticmethod.
What's bothering me the most is I can't use the global app instance in
the A.py module.
How can I get at the app instance (currently I'm storing that along
with the class instance in the constructor)?
Is there another way to do this that's not such a hack?
Sorry for the double / partial post :(
More information about the Python-list
mailing list