Mercurial > libervia-backend
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## |