comparison src/bridge/bridge_constructor/dbus_frontend_template.py @ 1290:faa1129559b8 frontends_multi_profiles

core, frontends: refactoring to base Libervia on QuickFrontend (big mixed commit): /!\ not finished, everything is still instable ! - bridge: DBus bridge has been modified to allow blocking call to be called in the same way as asynchronous calls - bridge: calls with a callback and no errback are now possible, default errback log the error - constants: removed hack to manage presence without OrderedDict, as an OrderedDict like class has been implemented in Libervia - core: getLastResource has been removed and replaced by getMainResource (there is a global better management of resources) - various style improvments: use of constants when possible, fixed variable overlaps, import of module instead of direct class import - frontends: printInfo and printMessage methods in (Quick)Chat are more generic (use of extra instead of timestamp) - frontends: bridge creation and option parsing (command line arguments) are now specified by the frontend in QuickApp __init__ - frontends: ProfileManager manage a more complete plug sequence (some stuff formerly manage in contact_list have moved to ProfileManager) - quick_frontend (quick_widgets): QuickWidgetsManager is now iterable (all widgets are then returned), or can return an iterator on a specific class (return all widgets of this class) with getWidgets - frontends: tools.jid can now be used in Pyjamas, with some care - frontends (XMLUI): profile is now managed - core (memory): big improvment on entities cache management (and specially resource management) - core (params/exceptions): added PermissionError - various fixes and improvments, check diff for more details
author Goffi <goffi@goffi.org>
date Sat, 24 Jan 2015 01:00:29 +0100
parents bf2927e6a0f5
children 069ad98b360d
comparison
equal deleted inserted replaced
1289:653f2e2eea31 1290:faa1129559b8
100 # - or if the last two arguments are callable 100 # - or if the last two arguments are callable
101 101
102 async = False 102 async = False
103 103
104 if kwargs: 104 if kwargs:
105 if 'callback' in kwargs and 'errback' in kwargs: 105 if 'callback' in kwargs:
106 async = True 106 async = True
107 _callback = kwargs.pop('callback') 107 _callback = kwargs.pop('callback')
108 _errback = kwargs.pop('errback') 108 _errback = kwargs.pop('errback', lambda failure: log.error(unicode(failure)))
109 elif len(args) >= 2 and callable(args[-1]) and callable(args[-2]): 109 elif len(args) >= 2 and callable(args[-1]) and callable(args[-2]):
110 async = True 110 async = True
111 args = list(args) 111 args = list(args)
112 _errback = args.pop() 112 _errback = args.pop()
113 _callback = args.pop() 113 _callback = args.pop()
120 kwargs['error_handler'] = lambda err: _errback(dbus_to_bridge_exception(err)) 120 kwargs['error_handler'] = lambda err: _errback(dbus_to_bridge_exception(err))
121 121
122 return method(*args, **kwargs) 122 return method(*args, **kwargs)
123 123
124 return getPluginMethod 124 return getPluginMethod
125
125 ##METHODS_PART## 126 ##METHODS_PART##