staticmethod and namespaces

darnzen darnzen at
Fri Feb 26 06:07:55 CET 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:

from A import *

class App:
    def sperg(self):
         self.a = A()

app = App()
[main loop and such]
# Module
import main
class Foo:
     def __init__(self):
     def chum_callback(nType, nP):
               # Need to access function / data in app instance
               # 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 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