Mercurial > libervia-backend
diff sat_frontends/quick_frontend/quick_menus.py @ 2624:56f94936df1e
code style reformatting using black
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 27 Jun 2018 20:14:46 +0200 |
parents | 26edcf3a30eb |
children | 003b8b4b56a7 |
line wrap: on
line diff
--- a/sat_frontends/quick_frontend/quick_menus.py Wed Jun 27 07:51:29 2018 +0200 +++ b/sat_frontends/quick_frontend/quick_menus.py Wed Jun 27 20:14:46 2018 +0200 @@ -19,12 +19,16 @@ try: # FIXME: to be removed when an acceptable solution is here - unicode('') # XXX: unicode doesn't exist in pyjamas -except (TypeError, AttributeError): # Error raised is not the same depending on pyjsbuild options + unicode("") # XXX: unicode doesn't exist in pyjamas +except ( + TypeError, + AttributeError, +): # Error raised is not the same depending on pyjsbuild options unicode = str from sat.core.log import getLogger from sat.core.i18n import _, languageSwitch + log = getLogger(__name__) from sat_frontends.quick_frontend.constants import Const as C from collections import OrderedDict @@ -32,8 +36,9 @@ ## items ## + class MenuBase(object): - ACTIVE=True + ACTIVE = True def __init__(self, name, extra=None): """ @@ -61,7 +66,8 @@ class MenuItem(MenuBase): """A callable item in the menu""" - CALLABLE=False + + CALLABLE = False def __init__(self, name, name_i18n, extra=None, type_=None): """ @@ -83,7 +89,7 @@ @param caller: Menu caller """ - assert self.type is not None # if data collector are used, type must be set + assert self.type is not None # if data collector are used, type must be set data_collector = QuickMenusManager.getDataCollector(self.type) if data_collector is None: @@ -101,7 +107,6 @@ data[data_key] = unicode(getattr(caller, caller_attr)) return data - def call(self, caller, profile=C.PROF_KEY_NONE): """Execute the menu item @@ -113,7 +118,8 @@ class MenuItemDistant(MenuItem): """A MenuItem with a distant callback""" - CALLABLE=True + + CALLABLE = True def __init__(self, host, type_, name, name_i18n, id_, extra=None): """ @@ -129,14 +135,15 @@ self.id = id_ def call(self, caller, profile=C.PROF_KEY_NONE): - data = self.collectData(caller) + data = self.collectData(caller) log.debug("data collected: %s" % data) self.host.launchAction(self.id, data, profile=profile) class MenuItemLocal(MenuItem): """A MenuItem with a local callback""" - CALLABLE=True + + CALLABLE = True def __init__(self, type_, name, name_i18n, callback, extra=None): """ @@ -162,12 +169,14 @@ class MenuHook(MenuItemLocal): """A MenuItem which replace an expected item from backend""" + pass class MenuPlaceHolder(MenuItem): """A non existant menu which is used to keep a position""" - ACTIVE=False + + ACTIVE = False def __init__(self, name): MenuItem.__init__(self, name, name) @@ -175,10 +184,11 @@ class MenuSeparator(MenuItem): """A separation between items/categories""" - SEP_IDX=0 + + SEP_IDX = 0 def __init__(self): - MenuSeparator.SEP_IDX +=1 + MenuSeparator.SEP_IDX += 1 name = u"___separator_{}".format(MenuSeparator.SEP_IDX) MenuItem.__init__(self, name, name) @@ -187,7 +197,6 @@ class MenuContainer(MenuBase): - def __init__(self, name, extra=None): MenuBase.__init__(self, name, extra) self._items = OrderedDict() @@ -208,7 +217,10 @@ raise KeyError(item) def getOrCreate(self, item): - log.debug(u"MenuContainer getOrCreate: item=%s name=%s\nlist=%s" % (item, item.canonical, self._items.keys())) + log.debug( + u"MenuContainer getOrCreate: item=%s name=%s\nlist=%s" + % (item, item.canonical, self._items.keys()) + ) try: return self[item] except KeyError: @@ -255,6 +267,7 @@ class MenuType(MenuContainer): """A type which can hold other menus or categories""" + pass @@ -263,7 +276,10 @@ class QuickMenusManager(object): """Manage all the menus""" - _data_collectors={C.MENU_GLOBAL: None} # No data is associated with C.MENU_GLOBAL items + + _data_collectors = { + C.MENU_GLOBAL: None + } # No data is associated with C.MENU_GLOBAL items def __init__(self, host, menus=None, language=None): """ @@ -358,15 +374,28 @@ menu_container.replace(item) elif isinstance(container_item, MenuHook): # MenuHook must not be replaced - log.debug(u"ignoring menu at path [{}] because a hook is already in place".format(path)) + log.debug( + u"ignoring menu at path [{}] because a hook is already in place".format( + path + ) + ) else: log.error(u"Conflicting menus at path [{}]".format(path)) else: log.debug(u"Adding menu [{type_}] {path}".format(type_=type_, path=path)) menu_container.append(item) - self.host.callListeners('menu', type_, path, path_i18n, item) + self.host.callListeners("menu", type_, path, path_i18n, item) - def addMenu(self, type_, path, path_i18n=None, extra=None, top_extra=None, id_=None, callback=None): + def addMenu( + self, + type_, + path, + path_i18n=None, + extra=None, + top_extra=None, + id_=None, + callback=None, + ): """Add a menu item @param type_(unicode): same as in [sat.core.sat_main.SAT.importMenu] @@ -379,11 +408,15 @@ """ if path_i18n is None: path_i18n = self._getPathI18n(path) - assert bool(id_) ^ bool(callback) # we must have id_ xor callback defined + assert bool(id_) ^ bool(callback) # we must have id_ xor callback defined if id_: - menu_item = MenuItemDistant(self.host, type_, path[-1], path_i18n[-1], id_=id_, extra=extra) + menu_item = MenuItemDistant( + self.host, type_, path[-1], path_i18n[-1], id_=id_, extra=extra + ) else: - menu_item = MenuItemLocal(type_, path[-1], path_i18n[-1], callback=callback, extra=extra) + menu_item = MenuItemLocal( + type_, path[-1], path_i18n[-1], callback=callback, extra=extra + ) self.addMenuItem(type_, path[:-1], menu_item, path_i18n[:-1], top_extra) def addMenus(self, menus, top_extra=None): @@ -401,11 +434,17 @@ # TODO: manage icons for id_, type_, path, path_i18n, extra in menus: if callable(id_): - self.addMenu(type_, path, path_i18n, callback=id_, extra=extra, top_extra=top_extra) + self.addMenu( + type_, path, path_i18n, callback=id_, extra=extra, top_extra=top_extra + ) else: - self.addMenu(type_, path, path_i18n, id_=id_, extra=extra, top_extra=top_extra) + self.addMenu( + type_, path, path_i18n, id_=id_, extra=extra, top_extra=top_extra + ) - def addMenuHook(self, type_, path, path_i18n=None, extra=None, top_extra=None, callback=None): + def addMenuHook( + self, type_, path, path_i18n=None, extra=None, top_extra=None, callback=None + ): """Helper method to add a menu hook Menu hooks are local menus which override menu given by backend @@ -418,7 +457,9 @@ """ if path_i18n is None: path_i18n = self._getPathI18n(path) - menu_item = MenuHook(type_, path[-1], path_i18n[-1], callback=callback, extra=extra) + menu_item = MenuHook( + type_, path[-1], path_i18n[-1], callback=callback, extra=extra + ) self.addMenuItem(type_, path[:-1], menu_item, path_i18n[:-1], top_extra) log.info(u"Menu hook set on {path} ({type_})".format(path=path, type_=type_)) @@ -434,7 +475,9 @@ """ if path_i18n is None: path_i18n = self._getPathI18n(path) - last_container = self._createCategories(type_, path, path_i18n, top_extra=top_extra) + last_container = self._createCategories( + type_, path, path_i18n, top_extra=top_extra + ) last_container.setExtra(extra) return last_container