From: Thierry Parmentelat Date: Wed, 24 Apr 2013 15:09:56 +0000 (+0200) Subject: when domid is not set, use a name that has the classname in it to avoid name clashes X-Git-Tag: myslice-0.2-1~139 X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=commitdiff_plain;h=d50fe1013ad8599ed048b2b8771ac6af21c3e466 when domid is not set, use a name that has the classname in it to avoid name clashes --- diff --git a/unfold/plugin.py b/unfold/plugin.py index 7ee79afe..f0b6128e 100644 --- a/unfold/plugin.py +++ b/unfold/plugin.py @@ -32,10 +32,14 @@ class Plugin: # we just need this to be unique in a page domid=0 - @staticmethod - def newdomid(): + # when a domid is not set by the caller, we name plugins after their respective class as well, + # so as to limit name clashes between different views + # this has to see with the UI storing the last-seen status of plugins based on their id + # put it more bluntly it is recommended that a domid should be set + # and maybe xxx we should just enforce that... + def newdomid(self): Plugin.domid += 1 - return "plugin-%d"%Plugin.domid + return "plugin-%s-%d"%(self.__class__.__name__.lower(),Plugin.domid) ########## # Constructor @@ -69,7 +73,7 @@ class Plugin: visible=True, togglable=None, toggled=None, **settings): self.page = page # callers can provide their domid for css'ing - if not domid: domid=Plugin.newdomid() + if not domid: domid=self.newdomid() self.domid=domid # title is shown when togglable if not title: title="Plugin title for %s"%domid