core: configuration file
SàT's main options can now be put in a configuration file which can be in different locations Bridge: new getConfig option
This commit is contained in:
parent
3926cd25c7
commit
1da78d1301
2 changed files with 84 additions and 5 deletions
33
src/core/default_config.py
Normal file
33
src/core/default_config.py
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
SAT: a jabber client
|
||||
Copyright (C) 2009, 2010, 2011 Jérôme Poisson (goffi@goffi.org)
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
|
||||
CONST = {
|
||||
'client_name' : u'SàT (Salut à toi)',
|
||||
'client_version' : u'0.2.0D', #Please add 'D' at the end for dev versions
|
||||
'local_dir' : '~/.sat'
|
||||
}
|
||||
|
||||
### Defaut configuration values ###
|
||||
|
||||
default_config = {
|
||||
'local_dir': '~/.sat',
|
||||
'media_dir': '/usr/share/sat/media',
|
||||
}
|
||||
|
|
@ -97,20 +97,22 @@ class SAT(service.Service):
|
|||
def __init__(self):
|
||||
#TODO: standardize callback system
|
||||
|
||||
local_dir = os.path.expanduser(self.get_const('local_dir'))
|
||||
if not os.path.exists(local_dir):
|
||||
os.makedirs(local_dir)
|
||||
|
||||
self.__waiting_conf = {} #callback called when a confirmation is received
|
||||
self.__progress_cb_map = {} #callback called when a progress is requested (key = progress id)
|
||||
self.__general_cb_map = {} #callback called for general reasons (key = name)
|
||||
self.__private_data = {} #used for internal callbacks (key = id)
|
||||
self.trigger = TriggerManager() #trigger are used to change SàT behaviour
|
||||
self.profiles = {}
|
||||
self.plugins = {}
|
||||
self.menus = {} #used to know which new menus are wanted by plugins
|
||||
|
||||
self.memory=Memory(self)
|
||||
|
||||
local_dir = os.path.expanduser(self.get_const('local_dir'))
|
||||
if not os.path.exists(local_dir):
|
||||
os.makedirs(local_dir)
|
||||
|
||||
self.trigger = TriggerManager() #trigger are used to change SàT behaviour
|
||||
|
||||
|
||||
self.bridge=DBusBridge()
|
||||
self.bridge.register("getVersion", lambda: self.get_const('client_version'))
|
||||
|
|
@ -126,6 +128,7 @@ class SAT(service.Service):
|
|||
self.bridge.register("getPresenceStatus", self.memory.getPresenceStatus)
|
||||
self.bridge.register("getWaitingSub", self.memory.getWaitingSub)
|
||||
self.bridge.register("sendMessage", self.sendMessage)
|
||||
self.bridge.register("getConfig", self.memory.getConfig)
|
||||
self.bridge.register("setParam", self.setParam)
|
||||
self.bridge.register("getParamA", self.memory.getParamA)
|
||||
self.bridge.register("getParamsUI", self.memory.getParamsUI)
|
||||
|
|
|
|||
Loading…
Reference in a new issue