Represent object type as

Jason jason.heeris at
Thu Mar 25 16:39:01 CET 2010


I want to send objects (new style) over DBUS. DBUS can only send
fairly primitive types[1] so I turn my objects into dicts and send
that. I'm reusing the __getstate__ function I wrote for pickling like

    def __getstate__(self):
        attrs = self.__dict__.copy()
        return attrs

...which is perfectly adequate to dict-ify and reconstitute this
simple class. That works just fine over DBUS.

The trouble is, the object could actually be of some slightly
different types, so I'd like to include that information as well. I
tried something like:

    def __getstate__(self):
        attrs = self.__dict__.copy()
        attrs.update({'type': type(self)})
        return attrs

...but then realised that "type" is not primitive enough for DBUS to

So, (a) can I get the type name from the type object, or (b) is there
a better way to do this?

(This pertains to Python 2.5.4.)

— Jason


More information about the Python-list mailing list