From 9c2087847a19230a59f40f8d4162eb1c4032ef0c Mon Sep 17 00:00:00 2001 From: souliane Date: Fri, 18 Oct 2013 19:23:03 +0200 Subject: [PATCH] core (memory): cleaned the part for load/save to xml (not used) --- src/core/sat_main.py | 1 - src/memory/memory.py | 52 ++++++++++++++++++++++---------------------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/src/core/sat_main.py b/src/core/sat_main.py index 0999c0aa..88e76a60 100644 --- a/src/core/sat_main.py +++ b/src/core/sat_main.py @@ -313,7 +313,6 @@ class SAT(service.Service): #self.connect() def stopService(self): - self.memory.save() info("Salut aussi à Rantanplan") def run(self): diff --git a/src/memory/memory.py b/src/memory/memory.py index fd5c83da..1b3ebdff 100644 --- a/src/memory/memory.py +++ b/src/memory/memory.py @@ -32,7 +32,6 @@ from sat.memory.sqlite import SqliteStorage from sat.memory.persistent import PersistentDict from sat.core import exceptions -SAVEFILE_PARAM_XML = "/param" # xml parameters template SAVEFILE_DATABASE = "/sat.db" NO_SECURITY_LIMIT = -1 @@ -137,7 +136,6 @@ class Params(object): self.default_profile = None self.params = {} self.params_gen = {} - host.set_const('savefile_param_xml', SAVEFILE_PARAM_XML) host.registerGeneralCB("registerNewAccount", host.registerNewAccountCB) def createProfile(self, profile): @@ -603,7 +601,7 @@ class Memory(object): self.initialized = defer.Deferred() self.host = host self.entitiesCache = {} # XXX: keep presence/last resource/other data in cache - # /!\ an entity is not necessarily in roster + # /!\ an entity is not necessarily in roster self.subscriptions = {} self.server_features = {} # used to store discovery's informations self.server_identities = {} @@ -614,7 +612,8 @@ class Memory(object): self.storage = SqliteStorage(database_file) PersistentDict.storage = self.storage self.params = Params(host, self.storage) - self.loadFiles() + info(_("Loading default params template")) + self.params.load_default_params() d = self.storage.initialized.addCallback(lambda ignore: self.load()) self.memory_data = PersistentDict("memory") d.addCallback(lambda ignore: self.memory_data.load()) @@ -644,22 +643,19 @@ class Memory(object): return os.path.expanduser(_value) if name.endswith('_path') or name.endswith('_dir') else _value - def loadFiles(self): - """Load parameters and all memory things from file/db""" - param_file_xml = os.path.expanduser(self.getConfig('', 'local_dir') + - self.host.get_const('savefile_param_xml')) - - #parameters template - if os.path.exists(param_file_xml): + def load_xml(self, filename): + """Load parameters template from xml file""" + if filename is None: + return False + filename = os.path.expanduser(filename) + if os.path.exists(filename): try: - self.params.load_xml(param_file_xml) - debug(_("params template loaded")) + self.params.load_xml(filename) + debug(_("Parameters loaded from file: %s") % filename) + return True except Exception as e: - error(_("Can't load params template: %s") % (e, )) - self.params.load_default_params() - else: - info(_("No params template, using default template")) - self.params.load_default_params() + error(_("Can't load parameters from file: %s") % e) + return False def load(self): """Load parameters and all memory things from db""" @@ -687,15 +683,19 @@ class Memory(object): except KeyError: error(_("Trying to purge roster status cache for a profile not in memory: [%s]") % profile) - def save(self): - """Save parameters and all memory things to file/db""" + def save_xml(self, filename=None): + """Save parameters template to xml file""" + if filename is None: + return False #TODO: need to encrypt files (at least passwords !) and set permissions - param_file_xml = os.path.expanduser(self.getConfig('', 'local_dir') + - self.host.get_const('savefile_param_xml')) - - # TODO: check if this method is still needed - #self.params.save_xml(param_file_xml) - debug(_("params saved")) + filename = os.path.expanduser(filename) + try: + self.params.save_xml(filename) + debug(_("Parameters saved to file: %s") % filename) + return True + except Exception as e: + error(_("Can't save parameters to file: %s") % e) + return False def getProfilesList(self): return self.storage.getProfilesList()