quick_frontend: add a method getWidget to return a widget without creating it if it doesn't exist
This commit is contained in:
parent
16cdbbbe1f
commit
b160e3d92c
1 changed files with 15 additions and 0 deletions
|
|
@ -93,6 +93,21 @@ class QuickWidgetsManager(object):
|
|||
else:
|
||||
return widgets_map.itervalues()
|
||||
|
||||
def getWidget(self, class_, target, profile):
|
||||
"""Get a widget without creating it if it doesn't exist.
|
||||
|
||||
@param class_(class): class of the widget to create
|
||||
@param target: target depending of the widget, usually a JID instance
|
||||
@param profile (unicode): %(doc_profile)s
|
||||
@return: a class_ instance or None if the widget doesn't exist
|
||||
"""
|
||||
class_ = self.getRealClass(class_)
|
||||
hash_ = class_.getWidgetHash(target, profile)
|
||||
try:
|
||||
return self._widgets[class_.__name__][hash_]
|
||||
except KeyError:
|
||||
return None
|
||||
|
||||
def getOrCreateWidget(self, class_, target, *args, **kwargs):
|
||||
"""Get an existing widget or create a new one when necessary
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue