comparison src/tools/memory.py @ 428:a4a9efadabfc

core: fixed memory initialisation sequence
author Goffi <goffi@goffi.org>
date Fri, 11 Nov 2011 19:49:00 +0100
parents e4e9187e3b5b
children
comparison
equal deleted inserted replaced
427:bb0236633da5 428:a4a9efadabfc
492 """This class manage all persistent informations""" 492 """This class manage all persistent informations"""
493 493
494 def __init__(self, host): 494 def __init__(self, host):
495 info (_("Memory manager init")) 495 info (_("Memory manager init"))
496 self.initialized = defer.Deferred() 496 self.initialized = defer.Deferred()
497 init_defers = [] #list of deferred to wait before initialization is finished
498 self.host = host 497 self.host = host
499 self.contacts={} 498 self.contacts={}
500 self.presenceStatus={} 499 self.presenceStatus={}
501 self.lastResource={} #tmp, will be refactored with bdd integration 500 self.lastResource={} #tmp, will be refactored with bdd integration
502 self.subscriptions={} 501 self.subscriptions={}
509 database_file = os.path.expanduser(self.getConfig('','local_dir')+ 508 database_file = os.path.expanduser(self.getConfig('','local_dir')+
510 self.host.get_const('savefile_database')) 509 self.host.get_const('savefile_database'))
511 self.storage = SqliteStorage(database_file) 510 self.storage = SqliteStorage(database_file)
512 self.params=Param(host, self.storage) 511 self.params=Param(host, self.storage)
513 self.loadFiles() 512 self.loadFiles()
514 self.storage.initialized.addCallback(lambda ignore: self.load(init_defers)) 513 d = self.storage.initialized.addCallback(self.load)
515 514 d.chainDeferred(self.initialized)
516 defer.DeferredList(init_defers).chainDeferred(self.initialized)
517 515
518 def parseMainConf(self): 516 def parseMainConf(self):
519 """look for main .ini configuration file, and parse it""" 517 """look for main .ini configuration file, and parse it"""
520 _config = SafeConfigParser(defaults=default_config) 518 _config = SafeConfigParser(defaults=default_config)
521 try: 519 try:
566 self.private=pickle.load(private_pickle) 564 self.private=pickle.load(private_pickle)
567 debug(_("private values loaded")) 565 debug(_("private values loaded"))
568 except: 566 except:
569 error (_("Can't load private values !")) 567 error (_("Can't load private values !"))
570 568
571 def load(self, init_defers): 569 def load(self, ignore):
572 """Load parameters and all memory things from db 570 """Load parameters and all memory things from db"""
573 @param init_defers: list of deferred to wait before parameters are loaded"""
574 #parameters data 571 #parameters data
575 init_defers.append(self.params.loadGenParams()) 572 return self.params.loadGenParams()
576 573
577 def loadIndividualParams(self, profile): 574 def loadIndividualParams(self, profile):
578 """Load individual parameters for a profile 575 """Load individual parameters for a profile
579 @param profile: %(doc_profile)s""" 576 @param profile: %(doc_profile)s"""
580 return self.params.loadIndParams(profile) 577 return self.params.loadIndParams(profile)