core, bridge: added a profileSetDefault method
This commit is contained in:
parent
22696ec80b
commit
182f192703
6 changed files with 40 additions and 2 deletions
|
|
@ -557,6 +557,20 @@ class DBusBridgeFrontend(BridgeFrontend):
|
|||
kwargs['error_handler'] = error_handler
|
||||
return self.db_core_iface.profileIsSessionStarted(profile_key, **kwargs)
|
||||
|
||||
def profileSetDefault(self, arg_0, callback=None, errback=None):
|
||||
if callback is None:
|
||||
error_handler = None
|
||||
else:
|
||||
if errback is None:
|
||||
errback = log.error
|
||||
error_handler = lambda err:errback(dbus_to_bridge_exception(err))
|
||||
kwargs={}
|
||||
if callback is not None:
|
||||
kwargs['timeout'] = const_TIMEOUT
|
||||
kwargs['reply_handler'] = callback
|
||||
kwargs['error_handler'] = error_handler
|
||||
return self.db_core_iface.profileSetDefault(arg_0, **kwargs)
|
||||
|
||||
def profileStartSession(self, password='', profile_key="@DEFAULT@", callback=None, errback=None):
|
||||
if callback is None:
|
||||
error_handler = None
|
||||
|
|
|
|||
|
|
@ -428,6 +428,12 @@ class DbusObject(dbus.service.Object):
|
|||
def profileIsSessionStarted(self, profile_key="@DEFAULT@"):
|
||||
return self._callback("profileIsSessionStarted", unicode(profile_key))
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='s', out_signature='',
|
||||
async_callbacks=None)
|
||||
def profileSetDefault(self, arg_0):
|
||||
return self._callback("profileSetDefault", unicode(arg_0))
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='ss', out_signature='b',
|
||||
async_callbacks=('callback', 'errback'))
|
||||
|
|
|
|||
|
|
@ -220,7 +220,7 @@ sig_out=s
|
|||
param_0_default="@DEFAULT@"
|
||||
doc=Get real profile name from profile key
|
||||
doc_param_0=%(doc_profile_key)s
|
||||
doc_return=Real profile name, or empty string if the profile doesn't exist
|
||||
doc_return=Real profile name
|
||||
|
||||
[getProfilesList]
|
||||
type=method
|
||||
|
|
@ -229,6 +229,13 @@ sig_in=
|
|||
sig_out=as
|
||||
doc=Get all profiles
|
||||
|
||||
[profileSetDefault]
|
||||
type=method
|
||||
category=core
|
||||
sig_in=s
|
||||
sig_out=
|
||||
doc=Set default profile
|
||||
|
||||
[getEntityData]
|
||||
type=method
|
||||
category=core
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ class SAT(service.Service):
|
|||
self.bridge.register("asyncDeleteProfile", self.memory.asyncDeleteProfile)
|
||||
self.bridge.register("profileStartSession", self.memory._startSession)
|
||||
self.bridge.register("profileIsSessionStarted", self.memory._isSessionStarted)
|
||||
self.bridge.register("profileSetDefault", self.memory.profileSetDefault)
|
||||
self.bridge.register("asyncConnect", self._asyncConnect)
|
||||
self.bridge.register("disconnect", self.disconnect)
|
||||
self.bridge.register("getContacts", self.getContacts)
|
||||
|
|
|
|||
|
|
@ -433,6 +433,16 @@ class Memory(object):
|
|||
"""
|
||||
return self.params.getProfileName(profile_key, return_profile_keys)
|
||||
|
||||
def profileSetDefault(self, profile):
|
||||
"""Set default profile
|
||||
|
||||
@param profile: %(doc_profile)s
|
||||
"""
|
||||
# we want to be sure that the profile exists
|
||||
profile = self.getProfileName(profile)
|
||||
|
||||
self.memory_data['Profile_default'] = profile
|
||||
|
||||
def asyncCreateProfile(self, name, password=''):
|
||||
"""Create a new profile
|
||||
@param name: profile name
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ class Params(object):
|
|||
if profile_key == '@DEFAULT@':
|
||||
default = self.host.memory.memory_data.get('Profile_default')
|
||||
if not default:
|
||||
log.info(_('No default profile, returning first one')) # TODO: manage real default profile
|
||||
log.info(_('No default profile, returning first one'))
|
||||
try:
|
||||
default = self.host.memory.memory_data['Profile_default'] = self.storage.getProfilesList()[0]
|
||||
except IndexError:
|
||||
|
|
|
|||
Loading…
Reference in a new issue