Example #1
0
 def add_item(self, info, id=None):
     if id is None:
         id = info.get_id()
     if self.has_item(id):
         raise RuntimeError("item '%s' already exist in '%s'" % (id, self))
     item = create_instance(info, id)
     self.__items.append(item)
     self.__items_dict[id] = item
Example #2
0
def _load_instance(typ, node, id):
    if issubclass(typ, Item):
        obj = create_instance(typ, id)
        obj.load(node)
    else:
        val = node.get()
        # XXX
        if val is None and typ is str:
            obj = None
        else:
            obj = typ(val)
    return obj