comparison src/memory/params.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 cfd636203e8f
children 069ad98b360d
comparison
equal deleted inserted replaced
1289:653f2e2eea31 1290:faa1129559b8
47 <param name="%(history_param)s" label="%(history_label)s" value="20" constraint="0;100" type="int" security="0" /> 47 <param name="%(history_param)s" label="%(history_label)s" value="20" constraint="0;100" type="int" security="0" />
48 <param name="%(show_offline_contacts)s" label="%(show_offline_contacts_label)s" value="false" type="bool" security="0" /> 48 <param name="%(show_offline_contacts)s" label="%(show_offline_contacts_label)s" value="false" type="bool" security="0" />
49 <param name="%(show_empty_groups)s" label="%(show_empty_groups_label)s" value="true" type="bool" security="0" /> 49 <param name="%(show_empty_groups)s" label="%(show_empty_groups_label)s" value="true" type="bool" security="0" />
50 </category> 50 </category>
51 <category name="Connection" label="%(category_connection)s"> 51 <category name="Connection" label="%(category_connection)s">
52 <param name="JabberID" value="name@example.org/SàT" type="string" /> 52 <param name="JabberID" value="name@example.org/SàT" type="string" security="0" />
53 <param name="Password" value="" type="password" /> 53 <param name="Password" value="" type="password" />
54 <param name="Priority" value="50" type="int" constraint="-128;127"/> 54 <param name="Priority" value="50" type="int" constraint="-128;127"/>
55 <param name="%(force_server_param)s" value="" type="string" /> 55 <param name="%(force_server_param)s" value="" type="string" />
56 <param name="%(force_port_param)s" value="" type="int" constraint="1;65535" /> 56 <param name="%(force_port_param)s" value="" type="int" constraint="1;65535" />
57 <param name="NewAccount" label="%(new_account_label)s" type="button" callback_id="registerNewAccount"/> 57 <param name="NewAccount" label="%(new_account_label)s" type="button" callback_id="registerNewAccount"/>
58 <param name="autoconnect" label="%(autoconnect_label)s" value="true" type="bool" /> 58 <param name="autoconnect" label="%(autoconnect_label)s" value="true" type="bool" security="0" />
59 <param name="autodisconnect" label="%(autodisconnect_label)s" value="false" type="bool" /> 59 <param name="autodisconnect" label="%(autodisconnect_label)s" value="false" type="bool" security="0" />
60 </category> 60 </category>
61 <category name="Misc" label="%(category_misc)s"> 61 <category name="Misc" label="%(category_misc)s">
62 <param name="Watched" value="test@Jabber.goffi.int" type="string" /> 62 <param name="Watched" value="test@Jabber.goffi.int" type="string" />
63 </category> 63 </category>
64 </individual> 64 </individual>
471 @return: Deferred 471 @return: Deferred
472 """ 472 """
473 node = self._getParamNode(name, category) 473 node = self._getParamNode(name, category)
474 if not node: 474 if not node:
475 log.error(_("Requested param [%(name)s] in category [%(category)s] doesn't exist !") % {'name': name, 'category': category}) 475 log.error(_("Requested param [%(name)s] in category [%(category)s] doesn't exist !") % {'name': name, 'category': category})
476 return defer.succeed(None) 476 raise ValueError("Requested param doesn't exist")
477 477
478 if not self.checkSecurityLimit(node[1], security_limit): 478 if not self.checkSecurityLimit(node[1], security_limit):
479 log.warning(_("Trying to get parameter '%(param)s' in category '%(cat)s' without authorization!!!" 479 log.warning(_("Trying to get parameter '%(param)s' in category '%(cat)s' without authorization!!!"
480 % {'param': name, 'cat': category})) 480 % {'param': name, 'cat': category}))
481 return defer.succeed(None) 481 raise exceptions.PermissionError
482 482
483 if node[0] == C.GENERAL: 483 if node[0] == C.GENERAL:
484 value = self._getParam(category, name, C.GENERAL) 484 value = self._getParam(category, name, C.GENERAL)
485 return self._asyncGetAttr(node[1], attr, value) 485 return self._asyncGetAttr(node[1], attr, value)
486 486