self.__start_index = struct.pop(0)
self.__end_index = struct.pop(0)
-serializable_register(Attribute)
-
class AttributeUnderline (Attribute):
def __init__(self, value, start_index, end_index):
Attribute.__init__ (self, ATTR_TYPE_UNDERLINE, value, start_index, end_index)
def __iter__ (self):
return self._attrs.__iter__ ()
-serializable_register(AttrList)
-
def test():
attr_list = AttrList()
attr_list.append (Attribute())
self.__observed_paths = map(deserialize_object, struct.pop(0))
self.__engines = map(deserialize_object, struct.pop(0))
-serializable_register(Component)
-
def test():
text = Component("Hello", "", "", "", "", "", "", "")
value = serialize_object(text)
self.__icon = struct.pop(0)
self.__layout = struct.pop(0)
-serializable_register(EngineDesc)
-
def test():
engine = EngineDesc("Hello", "", "", "", "", "", "", "")
value = serialize_object(engine)
self.__authors = struct.pop(0)
self.__credits = struct.pop(0)
-serializable_register(FactoryInfo)
-
self.__candidates = map(deserialize_object, struct.pop(0))
self.__labels = map(deserialize_object, struct.pop(0))
-
-serializable_register(LookupTable)
-
def test():
t = LookupTable()
# attrs = AttrList()
self.__path = struct.pop(0)
self.__mtime = struct.pop(0)
-serializable_register(ObservedPath)
-
def test():
op = ObservedPath("/tmp", 111)
value = serialize_object(op)
self.__sub_props = deserialize_object(props)
-serializable_register(Property)
-
class PropList(Serializable):
__gtype_name__ = "IBusPropList"
__NAME__ = "IBusPropList"
def __getitem__(self, i):
return self.__props.__getitem__(i)
-serializable_register(PropList)
-
def test():
props = PropList()
props.append(Property(u"a"))
# Boston, MA 02111-1307 USA
__all__ = (
- "serializable_register",
"Serializable",
"serialize_object",
"deserialize_object",
__serializable_name_dict = dict()
def serializable_register(classobj):
- if not issubclass(classobj, Serializable):
- raise "%s is not a sub-class of Serializable" % str(classobj)
+ # if not issubclass(classobj, Serializable):
+ # raise "%s is not a sub-class of Serializable" % str(classobj)
__serializable_name_dict[classobj.__NAME__] = classobj
def serialize_object(o):
return o
return v
+class SerializableMeta(gobject.GObjectMeta):
+ def __init__(cls, name, bases, dict_):
+ super(SerializableMeta, cls).__init__(name, bases, dict_)
+ if "__NAME__" in cls.__dict__:
+ serializable_register(cls)
+
class Serializable(Object):
+ __metaclass__ = SerializableMeta
__gtype_name__ = "IBusSerializable"
__NAME__ = "IBusSerializable"
def __init__(self):
self.__text = struct.pop(0)
self.__attrs = deserialize_object(struct.pop(0))
-serializable_register(Text)
-
def test():
text = Text("Hello")
value = serialize_object(text)