quick_frontend: add a method getWidget to return a widget without creating it if it doesn't exist

This commit is contained in:
souliane 2015-03-04 14:17:38 +01:00
commit b160e3d92c

View file

@ -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