Mercurial > libervia-backend
diff sat_frontends/primitivus/base.py @ 4037:524856bd7b19
massive refactoring to switch from camelCase to snake_case:
historically, Libervia (SàT before) was using camelCase as allowed by PEP8 when using a
pre-PEP8 code, to use the same coding style as in Twisted.
However, snake_case is more readable and it's better to follow PEP8 best practices, so it
has been decided to move on full snake_case. Because Libervia has a huge codebase, this
ended with a ugly mix of camelCase and snake_case.
To fix that, this patch does a big refactoring by renaming every function and method
(including bridge) that are not coming from Twisted or Wokkel, to use fully snake_case.
This is a massive change, and may result in some bugs.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 08 Apr 2023 13:54:42 +0200 |
parents | b5bed164dce0 |
children | 4b842c1fb686 |
line wrap: on
line diff
--- a/sat_frontends/primitivus/base.py Fri Apr 07 15:18:39 2023 +0200 +++ b/sat_frontends/primitivus/base.py Sat Apr 08 13:54:42 2023 +0200 @@ -20,7 +20,7 @@ from sat.core.i18n import _, D_ from sat_frontends.primitivus.constants import Const as C from sat.core import log_config -log_config.satConfigure(C.LOG_BACKEND_STANDARD, C) +log_config.sat_configure(C.LOG_BACKEND_STANDARD, C) from sat.core import log as logging log = logging.getLogger(__name__) from sat.tools import config as sat_config @@ -45,8 +45,8 @@ import sys ## bridge handling # we get bridge name from conf and initialise the right class accordingly -main_config = sat_config.parseMainConf() -bridge_name = sat_config.getConfig(main_config, '', 'bridge', 'dbus') +main_config = sat_config.parse_main_conf() +bridge_name = sat_config.config_get(main_config, '', 'bridge', 'dbus') if 'dbus' not in bridge_name: print(u"only D-Bus bridge is currently supported") sys.exit(3) @@ -63,8 +63,8 @@ a_key['MODE_COMMAND']: (C.MODE_COMMAND, u':')} #XXX: captions *MUST* be unicode super(EditBar, self).__init__(modes) self.host = host - self.setCompletionMethod(self._text_completion) - urwid.connect_signal(self, 'click', self.onTextEntered) + self.set_completion_method(self._text_completion) + urwid.connect_signal(self, 'click', self.on_text_entered) def _text_completion(self, text, completion_data, mode): if mode == C.MODE_INSERTION: @@ -78,47 +78,47 @@ else: return text - def onTextEntered(self, editBar): + def on_text_entered(self, editBar): """Called when text is entered in the main edit bar""" if self.mode == C.MODE_INSERTION: if isinstance(self.host.selected_widget, quick_chat.QuickChat): chat_widget = self.host.selected_widget - self.host.messageSend( + self.host.message_send( chat_widget.target, {'': editBar.get_edit_text()}, # TODO: handle language mess_type = C.MESS_TYPE_GROUPCHAT if chat_widget.type == C.CHAT_GROUP else C.MESS_TYPE_CHAT, # TODO: put this in QuickChat - errback=lambda failure: self.host.showDialog(_("Error while sending message ({})").format(failure), type="error"), + errback=lambda failure: self.host.show_dialog(_("Error while sending message ({})").format(failure), type="error"), profile_key=chat_widget.profile ) editBar.set_edit_text('') elif self.mode == C.MODE_COMMAND: - self.commandHandler() + self.command_handler() - def commandHandler(self): + def command_handler(self): #TODO: separate class with auto documentation (with introspection) # and completion method tokens = self.get_edit_text().split(' ') command, args = tokens[0], tokens[1:] if command == 'quit': - self.host.onExit() + self.host.on_exit() raise urwid.ExitMainLoop() elif command == 'messages': - wid = sat_widgets.GenericList(logging.memoryGet()) - self.host.selectWidget(wid) + wid = sat_widgets.GenericList(logging.memory_get()) + self.host.select_widget(wid) # FIXME: reactivate the command # elif command == 'presence': # values = [value for value in commonConst.PRESENCE.keys()] # values = [value if value else 'online' for value in values] # the empty value actually means 'online' # if args and args[0] in values: # presence = '' if args[0] == 'online' else args[0] - # self.host.status_bar.onChange(user_data=sat_widgets.ClickableText(commonConst.PRESENCE[presence])) + # self.host.status_bar.on_change(user_data=sat_widgets.ClickableText(commonConst.PRESENCE[presence])) # else: - # self.host.status_bar.onPresenceClick() + # self.host.status_bar.on_presence_click() # elif command == 'status': # if args: - # self.host.status_bar.onChange(user_data=sat_widgets.AdvancedEdit(args[0])) + # self.host.status_bar.on_change(user_data=sat_widgets.AdvancedEdit(args[0])) # else: - # self.host.status_bar.onStatusClick() + # self.host.status_bar.on_status_click() elif command == 'history': widget = self.host.selected_widget if isinstance(widget, quick_chat.QuickChat): @@ -126,22 +126,22 @@ limit = int(args[0]) except (IndexError, ValueError): limit = 50 - widget.updateHistory(size=limit, profile=widget.profile) + widget.update_history(size=limit, profile=widget.profile) elif command == 'search': widget = self.host.selected_widget if isinstance(widget, quick_chat.QuickChat): pattern = " ".join(args) if not pattern: - self.host.notif_bar.addMessage(D_("Please specify the globbing pattern to search for")) + self.host.notif_bar.add_message(D_("Please specify the globbing pattern to search for")) else: - widget.updateHistory(size=C.HISTORY_LIMIT_NONE, filters={'search': pattern}, profile=widget.profile) + widget.update_history(size=C.HISTORY_LIMIT_NONE, filters={'search': pattern}, profile=widget.profile) elif command == 'filter': # FIXME: filter is now only for current widget, # need to be able to set it globally or per widget widget = self.host.selected_widget # FIXME: Q&D way, need to be more generic if isinstance(widget, quick_chat.QuickChat): - widget.setFilter(args) + widget.set_filter(args) elif command in ('topic', 'suject', 'title'): try: new_title = args[0].strip() @@ -149,12 +149,12 @@ new_title = None widget = self.host.selected_widget if isinstance(widget, quick_chat.QuickChat) and widget.type == C.CHAT_GROUP: - widget.onSubjectDialog(new_title) + widget.on_subject_dialog(new_title) else: return self.set_edit_text('') - def _historyCb(self, text): + def _history_cb(self, text): self.set_edit_text(text) self.set_edit_pos(len(text)) @@ -163,25 +163,25 @@ and move the index of the temporary history stack.""" if key == a_key['MODAL_ESCAPE']: # first save the text to the current mode, then change to NORMAL - self.host._updateInputHistory(self.get_edit_text(), mode=self.mode) - self.host._updateInputHistory(mode=C.MODE_NORMAL) + self.host._update_input_history(self.get_edit_text(), mode=self.mode) + self.host._update_input_history(mode=C.MODE_NORMAL) if self._mode == C.MODE_NORMAL and key in self._modes: - self.host._updateInputHistory(mode=self._modes[key][0]) + self.host._update_input_history(mode=self._modes[key][0]) if key == a_key['HISTORY_PREV']: - self.host._updateInputHistory(self.get_edit_text(), -1, self._historyCb, self.mode) + self.host._update_input_history(self.get_edit_text(), -1, self._history_cb, self.mode) return elif key == a_key['HISTORY_NEXT']: - self.host._updateInputHistory(self.get_edit_text(), +1, self._historyCb, self.mode) + self.host._update_input_history(self.get_edit_text(), +1, self._history_cb, self.mode) return elif key == a_key['EDIT_ENTER']: - self.host._updateInputHistory(self.get_edit_text(), mode=self.mode) + self.host._update_input_history(self.get_edit_text(), mode=self.mode) else: if (self._mode == C.MODE_INSERTION and isinstance(self.host.selected_widget, quick_chat.QuickChat) and key not in sat_widgets.FOCUS_KEYS and key not in (a_key['HISTORY_PREV'], a_key['HISTORY_NEXT']) and self.host.sync): - self.host.bridge.chatStateComposing(self.host.selected_widget.target, self.host.selected_widget.profile) + self.host.bridge.chat_state_composing(self.host.selected_widget.target, self.host.selected_widget.profile) return super(EditBar, self).keypress(size, key) @@ -203,12 +203,12 @@ for position in self.positions: setattr(self, position, - property(lambda: self, self.widgetGet(position=position), - lambda pos, new_wid: self.widgetSet(new_wid, position=pos)) + property(lambda: self, self.widget_get(position=position), + lambda pos, new_wid: self.widget_set(new_wid, position=pos)) ) self.focus_position = len(self.contents)-1 - def getVisiblePositions(self, keep=None): + def get_visible_positions(self, keep=None): """Return positions that are not hidden in the right order @param keep: if not None, this position will be keep in the right order, even if it's hidden @@ -241,27 +241,27 @@ if focus in self._hidden: return - self.focus_position = self.getVisiblePositions().index(focus) + self.focus_position = self.get_visible_positions().index(focus) return return super(PrimitivusTopWidget, self).keypress(size, key) - def widgetGet(self, position): + def widget_get(self, position): if not position in self.positions: raise ValueError("Unknown position {}".format(position)) return getattr(self, "_{}".format(position)) - def widgetSet(self, widget, position): + def widget_set(self, widget, position): if not position in self.positions: raise ValueError("Unknown position {}".format(position)) return setattr(self, "_{}".format(position), widget) - def hideSwitch(self, position): + def hide_switch(self, position): if not position in self.can_hide: raise ValueError("Can't switch position {}".format(position)) hide = not position in self._hidden - widget = self.widgetGet(position) - idx = self.getVisiblePositions(position).index(position) + widget = self.widget_get(position) + idx = self.get_visible_positions(position).index(position) if hide: del self.contents[idx] self._hidden.add(position) @@ -271,11 +271,11 @@ def show(self, position): if position in self._hidden: - self.hideSwitch(position) + self.hide_switch(position) def hide(self, position): if not position in self._hidden: - self.hideSwitch(position) + self.hide_switch(position) class PrimitivusApp(QuickApp, InputHistory): @@ -289,33 +289,33 @@ sys.exit(3) else: log.debug(u"Loading {} bridge".format(bridge_name)) - QuickApp.__init__(self, bridge_factory=bridge_module.Bridge, xmlui=xmlui, check_options=quick_utils.check_options, connect_bridge=False) + QuickApp.__init__(self, bridge_factory=bridge_module.bridge, xmlui=xmlui, check_options=quick_utils.check_options, connect_bridge=False) ## main loop setup ## event_loop = urwid.GLibEventLoop if 'dbus' in bridge_name else urwid.TwistedEventLoop - self.loop = urwid.MainLoop(urwid.SolidFill(), C.PALETTE, event_loop=event_loop(), input_filter=self.inputFilter, unhandled_input=self.keyHandler) + self.loop = urwid.MainLoop(urwid.SolidFill(), C.PALETTE, event_loop=event_loop(), input_filter=self.input_filter, unhandled_input=self.key_handler) @classmethod def run(cls): cls().start() - def onBridgeConnected(self): + def on_bridge_connected(self): ##misc setup## self._visible_widgets = set() self.notif_bar = sat_widgets.NotificationBar() - urwid.connect_signal(self.notif_bar, 'change', self.onNotification) + urwid.connect_signal(self.notif_bar, 'change', self.on_notification) - self.progress_wid = self.widgets.getOrCreateWidget(Progress, None, on_new_widget=None) - urwid.connect_signal(self.notif_bar.progress, 'click', lambda x: self.selectWidget(self.progress_wid)) + self.progress_wid = self.widgets.get_or_create_widget(Progress, None, on_new_widget=None) + urwid.connect_signal(self.notif_bar.progress, 'click', lambda x: self.select_widget(self.progress_wid)) self.__saved_overlay = None self.x_notify = Notify() # we already manage exit with a_key['APP_QUIT'], so we don't want C-c signal.signal(signal.SIGINT, signal.SIG_IGN) - sat_conf = sat_config.parseMainConf() + sat_conf = sat_config.parse_main_conf() self._bracketed_paste = C.bool( - sat_config.getConfig(sat_conf, C.CONFIG_SECTION, 'bracketed_paste', 'false') + sat_config.config_get(sat_conf, C.CONFIG_SECTION, 'bracketed_paste', 'false') ) if self._bracketed_paste: log.debug("setting bracketed paste mode as requested") @@ -323,7 +323,7 @@ self._bracketed_mode_set = True self.loop.widget = self.main_widget = ProfileManager(self) - self.postInit() + self.post_init() @property def visible_widgets(self): @@ -337,7 +337,7 @@ def mode(self, value): self.editBar.mode = value - def modeHint(self, value): + def mode_hint(self, value): """Change mode if make sens (i.e.: if there is nothing in the editBar)""" if not self.editBar.get_edit_text(): self.mode = value @@ -366,22 +366,22 @@ pass def start(self): - self.connectBridge() + self.connect_bridge() self.loop.run() - def postInit(self): + def post_init(self): try: - config.applyConfig(self) + config.apply_config(self) except Exception as e: log.error(u"configuration error: {}".format(e)) popup = self.alert(_(u"Configuration Error"), _(u"Something went wrong while reading the configuration, please check :messages")) if self.options.profile: self._early_popup = popup else: - self.showPopUp(popup) - super(PrimitivusApp, self).postInit(self.main_widget) + self.show_pop_up(popup) + super(PrimitivusApp, self).post_init(self.main_widget) - def keysToText(self, keys): + def keys_to_text(self, keys): """Generator return normal text from urwid keys""" for k in keys: if k == 'tab': @@ -391,7 +391,7 @@ elif is_wide_char(k,0) or (len(k)==1 and ord(k) >= 32): yield k - def inputFilter(self, input_, raw): + def input_filter(self, input_, raw): if self.__saved_overlay and input_ != a_key['OVERLAY_HIDE']: return @@ -439,7 +439,7 @@ if self.main_widget.focus == edit_bar: # XXX: if a paste is detected, we append it directly to the edit bar text # so the user can check it and press [enter] if it's OK - buf_paste = u''.join(self.keysToText(input_)) + buf_paste = u''.join(self.keys_to_text(input_)) pos = edit_bar.edit_pos edit_bar.set_edit_text(u'{}{}{}'.format(edit_bar.edit_text[:pos], buf_paste, edit_bar.edit_text[pos:])) edit_bar.edit_pos+=len(buf_paste) @@ -463,16 +463,16 @@ input_[input_.index(i)] = a_key['HISTORY_NEXT'] return input_ - def keyHandler(self, input_): + def key_handler(self, input_): if input_ == a_key['MENU_HIDE']: """User want to (un)hide the menu roller""" try: - self.main_widget.hideSwitch('menu') + self.main_widget.hide_switch('menu') except AttributeError: pass elif input_ == a_key['NOTIFICATION_NEXT']: """User wants to see next notification""" - self.notif_bar.showNext() + self.notif_bar.show_next() elif input_ == a_key['OVERLAY_HIDE']: """User wants to (un)hide overlay window""" if isinstance(self.loop.widget,urwid.Overlay): @@ -483,7 +483,7 @@ self.loop.widget = self.__saved_overlay self.__saved_overlay = None - elif input_ == a_key['DEBUG'] and 'D' in self.bridge.getVersion(): #Debug only for dev versions + elif input_ == a_key['DEBUG'] and 'D' in self.bridge.version_get(): #Debug only for dev versions self.debug() elif input_ == a_key['CONTACTS_HIDE']: #user wants to (un)hide the contact lists try: @@ -507,74 +507,74 @@ self.loop.widget = self.save_main_widget del self.save_main_widget try: - return self.menu_roller.checkShortcuts(input_) + return self.menu_roller.check_shortcuts(input_) except AttributeError: return input_ - def addMenus(self, menu, type_filter, menu_data=None): + def add_menus(self, menu, type_filter, menu_data=None): """Add cached menus to instance @param menu: sat_widgets.Menu instance - @param type_filter: menu type like is sat.core.sat_main.importMenu + @param type_filter: menu type like is sat.core.sat_main.import_menu @param menu_data: data to send with these menus """ def add_menu_cb(callback_id): - self.launchAction(callback_id, menu_data, profile=self.current_profile) - for id_, type_, path, path_i18n, extra in self.bridge.menusGet("", C.NO_SECURITY_LIMIT ): # TODO: manage extra + self.action_launch(callback_id, menu_data, profile=self.current_profile) + for id_, type_, path, path_i18n, extra in self.bridge.menus_get("", C.NO_SECURITY_LIMIT ): # TODO: manage extra if type_ != type_filter: continue if len(path) != 2: raise NotImplementedError("Menu with a path != 2 are not implemented yet") - menu.addMenu(path_i18n[0], path_i18n[1], lambda dummy,id_=id_: add_menu_cb(id_)) + menu.add_menu(path_i18n[0], path_i18n[1], lambda dummy,id_=id_: add_menu_cb(id_)) - def _buildMenuRoller(self): + def _build_menu_roller(self): menu = sat_widgets.Menu(self.loop) general = _("General") - menu.addMenu(general, _("Connect"), self.onConnectRequest) - menu.addMenu(general, _("Disconnect"), self.onDisconnectRequest) - menu.addMenu(general, _("Parameters"), self.onParam) - menu.addMenu(general, _("About"), self.onAboutRequest) - menu.addMenu(general, _("Exit"), self.onExitRequest, a_key['APP_QUIT']) - menu.addMenu(_("Contacts")) # add empty menu to save the place in the menu order + menu.add_menu(general, _("Connect"), self.on_connect_request) + menu.add_menu(general, _("Disconnect"), self.on_disconnect_request) + menu.add_menu(general, _("Parameters"), self.on_param) + menu.add_menu(general, _("About"), self.on_about_request) + menu.add_menu(general, _("Exit"), self.on_exit_request, a_key['APP_QUIT']) + menu.add_menu(_("Contacts")) # add empty menu to save the place in the menu order groups = _("Groups") - menu.addMenu(groups) - menu.addMenu(groups, _("Join room"), self.onJoinRoomRequest, a_key['ROOM_JOIN']) + menu.add_menu(groups) + menu.add_menu(groups, _("Join room"), self.on_join_room_request, a_key['ROOM_JOIN']) #additionals menus #FIXME: do this in a more generic way (in quickapp) - self.addMenus(menu, C.MENU_GLOBAL) + self.add_menus(menu, C.MENU_GLOBAL) menu_roller = sat_widgets.MenuRoller([(_('Main menu'), menu, C.MENU_ID_MAIN)]) return menu_roller - def _buildMainWidget(self): + def _build_main_widget(self): self.contact_lists_pile = urwid.Pile([]) #self.center_part = urwid.Columns([('weight',2,self.contact_lists[profile]),('weight',8,Chat('',self))]) self.center_part = urwid.Columns([('weight', 2, self.contact_lists_pile), ('weight', 8, urwid.Filler(urwid.Text('')))]) self.editBar = EditBar(self) - self.menu_roller = self._buildMenuRoller() + self.menu_roller = self._build_menu_roller() self.main_widget = PrimitivusTopWidget(self.center_part, self.menu_roller, self.notif_bar, self.editBar) return self.main_widget def plugging_profiles(self): - self.loop.widget = self._buildMainWidget() + self.loop.widget = self._build_main_widget() self.redraw() try: # if a popup arrived before main widget is build, we need to show it now - self.showPopUp(self._early_popup) + self.show_pop_up(self._early_popup) except AttributeError: pass else: del self._early_popup - def profilePlugged(self, profile): - QuickApp.profilePlugged(self, profile) - contact_list = self.widgets.getOrCreateWidget(ContactList, None, on_new_widget=None, on_click=self.contactSelected, on_change=lambda w: self.redraw(), profile=profile) + def profile_plugged(self, profile): + QuickApp.profile_plugged(self, profile) + contact_list = self.widgets.get_or_create_widget(ContactList, None, on_new_widget=None, on_click=self.contact_selected, on_change=lambda w: self.redraw(), profile=profile) self.contact_lists_pile.contents.append((contact_list, ('weight', 1))) return contact_list - def isHidden(self): + def is_hidden(self): """Tells if the frontend window is hidden. @return bool @@ -590,11 +590,11 @@ @return (urwid_satext.Alert): the created Alert instance """ popup = sat_widgets.Alert(title, message) - popup.setCallback('ok', lambda dummy: self.removePopUp(popup)) - self.showPopUp(popup, width=75, height=20) + popup.set_callback('ok', lambda dummy: self.remove_pop_up(popup)) + self.show_pop_up(popup, width=75, height=20) return popup - def removePopUp(self, widget=None): + def remove_pop_up(self, widget=None): """Remove current pop-up, and if there is other in queue, show it @param widget(None, urwid.Widget): if not None remove this popup from front or queue @@ -607,19 +607,19 @@ current_popup = self.loop.widget.top_w if not current_popup == widget: try: - self.notif_bar.removePopUp(widget) + self.notif_bar.remove_pop_up(widget) except ValueError: log.warning(u"Trying to remove an unknown widget {}".format(widget)) return self.loop.widget = self.main_widget - next_popup = self.notif_bar.getNextPopup() + next_popup = self.notif_bar.get_next_popup() if next_popup: #we still have popup to show, we display it - self.showPopUp(next_popup) + self.show_pop_up(next_popup) else: self.redraw() - def showPopUp(self, pop_up_widget, width=None, height=None, align='center', + def show_pop_up(self, pop_up_widget, width=None, height=None, align='center', valign='middle'): """Show a pop-up window if possible, else put it in queue @@ -640,11 +640,11 @@ self.loop.widget = display_widget self.redraw() else: - self.notif_bar.addPopUp(pop_up_widget) + self.notif_bar.add_pop_up(pop_up_widget) - def barNotify(self, message): + def bar_notify(self, message): """"Notify message to user via notification bar""" - self.notif_bar.addMessage(message) + self.notif_bar.add_message(message) self.redraw() def notify(self, type_, entity=None, message=None, subject=None, callback=None, cb_args=None, widget=None, profile=C.PROF_KEY_NONE): @@ -653,15 +653,15 @@ # still do a desktop notification is the X window has not the focus super(PrimitivusApp, self).notify(type_, entity, message, subject, callback, cb_args, widget, profile) # we don't want notifications without message on desktop - if message is not None and not self.x_notify.hasFocus(): + if message is not None and not self.x_notify.has_focus(): if message is None: message = _("{app}: a new event has just happened{entity}").format( app=C.APP_NAME, entity=u' ({})'.format(entity) if entity else '') - self.x_notify.sendNotification(message) + self.x_notify.send_notification(message) - def newWidget(self, widget, user_action=False): + def new_widget(self, widget, user_action=False): """Method called when a new widget is created if suitable, the widget will be displayed @@ -672,9 +672,9 @@ # FIXME: when several widgets are possible (e.g. with :split) # do not replace current widget when self.selected_widget != None if user_action or self.selected_widget is None: - self.selectWidget(widget) + self.select_widget(widget) - def selectWidget(self, widget): + def select_widget(self, widget): """Display a widget if possible, else add it in the notification bar queue @@ -684,27 +684,27 @@ wid_idx = len(self.center_part.widget_list)-1 self.center_part.widget_list[wid_idx] = widget try: - self.menu_roller.removeMenu(C.MENU_ID_WIDGET) + self.menu_roller.remove_menu(C.MENU_ID_WIDGET) except KeyError: log.debug("No menu to delete") self.selected_widget = widget try: - onSelected = self.selected_widget.onSelected + on_selected = self.selected_widget.on_selected except AttributeError: pass else: - onSelected() + on_selected() self._visible_widgets = set([widget]) # XXX: we can only have one widget visible at the time for now self.contact_lists.select(None) - for wid in self.visible_widgets: # FIXME: check if widgets.getWidgets is not more appropriate + for wid in self.visible_widgets: # FIXME: check if widgets.get_widgets is not more appropriate if isinstance(wid, Chat): contact_list = self.contact_lists[wid.profile] contact_list.select(wid.target) self.redraw() - def removeWindow(self): + def remove_window(self): """Remove window showed on the right column""" #TODO: better Window management than this hack assert len(self.center_part.widget_list) <= 2 @@ -713,7 +713,7 @@ self.center_part.focus_position = 0 self.redraw() - def addProgress(self, pid, message, profile): + def add_progress(self, pid, message, profile): """Follow a SàT progression @param pid: progression id @@ -721,118 +721,118 @@ """ self.progress_wid.add(pid, message, profile) - def setProgress(self, percentage): + def set_progress(self, percentage): """Set the progression shown in notification bar""" - self.notif_bar.setProgress(percentage) + self.notif_bar.set_progress(percentage) - def contactSelected(self, contact_list, entity): - self.clearNotifs(entity, profile=contact_list.profile) + def contact_selected(self, contact_list, entity): + self.clear_notifs(entity, profile=contact_list.profile) if entity.resource: # we have clicked on a private MUC conversation - chat_widget = self.widgets.getOrCreateWidget(Chat, entity, on_new_widget=None, force_hash = Chat.getPrivateHash(contact_list.profile, entity), profile=contact_list.profile) + chat_widget = self.widgets.get_or_create_widget(Chat, entity, on_new_widget=None, force_hash = Chat.get_private_hash(contact_list.profile, entity), profile=contact_list.profile) else: - chat_widget = self.widgets.getOrCreateWidget(Chat, entity, on_new_widget=None, profile=contact_list.profile) - self.selectWidget(chat_widget) - self.menu_roller.addMenu(_('Chat menu'), chat_widget.getMenu(), C.MENU_ID_WIDGET) + chat_widget = self.widgets.get_or_create_widget(Chat, entity, on_new_widget=None, profile=contact_list.profile) + self.select_widget(chat_widget) + self.menu_roller.add_menu(_('Chat menu'), chat_widget.get_menu(), C.MENU_ID_WIDGET) - def _dialogOkCb(self, widget, data): + def _dialog_ok_cb(self, widget, data): popup, answer_cb, answer_data = data - self.removePopUp(popup) + self.remove_pop_up(popup) if answer_cb is not None: answer_cb(True, answer_data) - def _dialogCancelCb(self, widget, data): + def _dialog_cancel_cb(self, widget, data): popup, answer_cb, answer_data = data - self.removePopUp(popup) + self.remove_pop_up(popup) if answer_cb is not None: answer_cb(False, answer_data) - def showDialog(self, message, title="", type="info", answer_cb = None, answer_data = None): + def show_dialog(self, message, title="", type="info", answer_cb = None, answer_data = None): if type == 'info': popup = sat_widgets.Alert(title, message, ok_cb=answer_cb) if answer_cb is None: - popup.setCallback('ok', lambda dummy: self.removePopUp(popup)) + popup.set_callback('ok', lambda dummy: self.remove_pop_up(popup)) elif type == 'error': popup = sat_widgets.Alert(title, message, ok_cb=answer_cb) if answer_cb is None: - popup.setCallback('ok', lambda dummy: self.removePopUp(popup)) + popup.set_callback('ok', lambda dummy: self.remove_pop_up(popup)) elif type == 'yes/no': popup = sat_widgets.ConfirmDialog(message) - popup.setCallback('yes', self._dialogOkCb, (popup, answer_cb, answer_data)) - popup.setCallback('no', self._dialogCancelCb, (popup, answer_cb, answer_data)) + popup.set_callback('yes', self._dialog_ok_cb, (popup, answer_cb, answer_data)) + popup.set_callback('no', self._dialog_cancel_cb, (popup, answer_cb, answer_data)) else: popup = sat_widgets.Alert(title, message, ok_cb=answer_cb) if answer_cb is None: - popup.setCallback('ok', lambda dummy: self.removePopUp(popup)) + popup.set_callback('ok', lambda dummy: self.remove_pop_up(popup)) log.error(u'unmanaged dialog type: {}'.format(type)) - self.showPopUp(popup) + self.show_pop_up(popup) - def dialogFailure(self, failure): + def dialog_failure(self, failure): """Show a failure that has been returned by an asynchronous bridge method. @param failure (defer.Failure): Failure instance """ self.alert(failure.classname, failure.message) - def onNotification(self, notif_bar): + def on_notification(self, notif_bar): """Called when a new notification has been received""" if not isinstance(self.main_widget, PrimitivusTopWidget): #if we are not in the main configuration, we ignore the notifications bar return - if self.notif_bar.canHide(): + if self.notif_bar.can_hide(): #No notification left, we can hide the bar self.main_widget.hide('notif_bar') else: self.main_widget.show('notif_bar') self.redraw() # FIXME: invalidate cache in a more efficient way - def _actionManagerUnknownError(self): + def _action_manager_unknown_error(self): self.alert(_("Error"), _(u"Unmanaged action")) - def roomJoinedHandler(self, room_jid_s, room_nicks, user_nick, subject, profile): - super(PrimitivusApp, self).roomJoinedHandler(room_jid_s, room_nicks, user_nick, subject, profile) + def room_joined_handler(self, room_jid_s, room_nicks, user_nick, subject, profile): + super(PrimitivusApp, self).room_joined_handler(room_jid_s, room_nicks, user_nick, subject, profile) # if self.selected_widget is None: - # for contact_list in self.widgets.getWidgets(ContactList): + # for contact_list in self.widgets.get_widgets(ContactList): # if profile in contact_list.profiles: - # contact_list.setFocus(jid.JID(room_jid_s), True) + # contact_list.set_focus(jid.JID(room_jid_s), True) - def progressStartedHandler(self, pid, metadata, profile): - super(PrimitivusApp, self).progressStartedHandler(pid, metadata, profile) - self.addProgress(pid, metadata.get('name', _(u'unkown')), profile) + def progress_started_handler(self, pid, metadata, profile): + super(PrimitivusApp, self).progress_started_handler(pid, metadata, profile) + self.add_progress(pid, metadata.get('name', _(u'unkown')), profile) - def progressFinishedHandler(self, pid, metadata, profile): + def progress_finished_handler(self, pid, metadata, profile): log.info(u"Progress {} finished".format(pid)) - super(PrimitivusApp, self).progressFinishedHandler(pid, metadata, profile) + super(PrimitivusApp, self).progress_finished_handler(pid, metadata, profile) - def progressErrorHandler(self, pid, err_msg, profile): + def progress_error_handler(self, pid, err_msg, profile): log.warning(u"Progress {pid} error: {err_msg}".format(pid=pid, err_msg=err_msg)) - super(PrimitivusApp, self).progressErrorHandler(pid, err_msg, profile) + super(PrimitivusApp, self).progress_error_handler(pid, err_msg, profile) ##DIALOGS CALLBACKS## - def onJoinRoom(self, button, edit): - self.removePopUp() + def on_join_room(self, button, edit): + self.remove_pop_up() room_jid = jid.JID(edit.get_edit_text()) - self.bridge.mucJoin(room_jid, self.profiles[self.current_profile].whoami.node, {}, self.current_profile, callback=lambda dummy: None, errback=self.dialogFailure) + self.bridge.muc_join(room_jid, self.profiles[self.current_profile].whoami.node, {}, self.current_profile, callback=lambda dummy: None, errback=self.dialog_failure) #MENU EVENTS# - def onConnectRequest(self, menu): + def on_connect_request(self, menu): QuickApp.connect(self, self.current_profile) - def onDisconnectRequest(self, menu): + def on_disconnect_request(self, menu): self.disconnect(self.current_profile) - def onParam(self, menu): + def on_param(self, menu): def success(params): ui = xmlui.create(self, xml_data=params, profile=self.current_profile) ui.show() def failure(error): self.alert(_("Error"), _("Can't get parameters (%s)") % error) - self.bridge.getParamsUI(app=C.APP_NAME, profile_key=self.current_profile, callback=success, errback=failure) + self.bridge.param_ui_get(app=C.APP_NAME, profile_key=self.current_profile, callback=success, errback=failure) - def onExitRequest(self, menu): - QuickApp.onExit(self) + def on_exit_request(self, menu): + QuickApp.on_exit(self) try: if self._bracketed_mode_set: # we don't unset if bracketed paste mode was detected automatically (i.e. not in conf) log.debug("unsetting bracketed paste mode") @@ -841,21 +841,21 @@ pass raise urwid.ExitMainLoop() - def onJoinRoomRequest(self, menu): + def on_join_room_request(self, menu): """User wants to join a MUC room""" - pop_up_widget = sat_widgets.InputDialog(_("Entering a MUC room"), _("Please enter MUC's JID"), default_txt=self.bridge.mucGetDefaultService(), ok_cb=self.onJoinRoom) - pop_up_widget.setCallback('cancel', lambda dummy: self.removePopUp(pop_up_widget)) - self.showPopUp(pop_up_widget) + pop_up_widget = sat_widgets.InputDialog(_("Entering a MUC room"), _("Please enter MUC's JID"), default_txt=self.bridge.muc_get_default_service(), ok_cb=self.on_join_room) + pop_up_widget.set_callback('cancel', lambda dummy: self.remove_pop_up(pop_up_widget)) + self.show_pop_up(pop_up_widget) - def onAboutRequest(self, menu): - self.alert(_("About"), C.APP_NAME + " v" + self.bridge.getVersion()) + def on_about_request(self, menu): + self.alert(_("About"), C.APP_NAME + " v" + self.bridge.version_get()) #MISC CALLBACKS# - def setPresenceStatus(self, show='', status=None, profile=C.PROF_KEY_NONE): - contact_list_wid = self.widgets.getWidget(ContactList, profiles=profile) + def set_presence_status(self, show='', status=None, profile=C.PROF_KEY_NONE): + contact_list_wid = self.widgets.get_widget(ContactList, profiles=profile) if contact_list_wid is not None: - contact_list_wid.status_bar.setPresenceStatus(show, status) + contact_list_wid.status_bar.set_presence_status(show, status) else: log.warning(u"No ContactList widget found for profile {}".format(profile))