X-Git-Url: https://git.toastfreeware.priv.at/gregoa/zavai.git/blobdiff_plain/f8d1da7244cc330686818eea667f3fa5563b0fbc..7416bf49ccfa97e76c3510221027c71b48c49e34:/zavai/registry.py diff --git a/zavai/registry.py b/zavai/registry.py index 86198fd..4af413c 100644 --- a/zavai/registry.py +++ b/zavai/registry.py @@ -47,11 +47,14 @@ class Registry(object): self.objects = dict() self.labels = dict() - def register(self, name, obj): + def register(self, obj, name=None): """Register an object at the given path. Name the path to this object, like "menu.gps.monitor". """ + if name is None: + name = obj.props.name + if name in self.objects: return KeyError("%s is already registered", name) zavai.info("Registering", name) @@ -60,7 +63,7 @@ class Registry(object): if name.startswith("menu."): self.add_to_menu(name) - def register_factory(self, name, fac, label = None): + def register_factory(self, fac, name, label = None): """Register an object factory at the given path. Name the path to this object, like "menu.gps.monitor". @@ -129,7 +132,7 @@ class Registry(object): parent = get_parent(name) res = zavai.Menu(self, name, parent) - self.register(name, res) + self.register(res, name) return res def shutdown(self):