Contact: fumanchu@aminus.org

Log in as guest/dejavu to create tickets

I think I've seen this ORM somewhere before...

Changeset 9

Show
Ignore:
Timestamp:
10/10/04 05:49:39
Author:
fumanchu
Message:

Cleaned up add_store to remove all configfile cruft. Works directly on objects now.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/__init__.py

    r8 r9  
    329329         
    330330        for order, name, options in stores: 
    331             self.add_store(name, options) 
    332      
    333     def add_store(self, name, options): 
    334         """Load and attach the requested StoreManager.""" 
    335         storage_mgr_class = xray.classes(options[u'Class']) 
    336         self.stores[name] = store = storage_mgr_class(name, self, options) 
    337          
    338         store.shutdownOrder = int(options.get('Shutdown Order', '0')) 
     331            storage_mgr_class = xray.classes(options[u'Class']) 
     332            store = storage_mgr_class(name, self, options) 
     333             
     334            unitClasses = [] 
     335            for x in options.get('Units', '').split(","): 
     336                clsname = x.strip() 
     337                if clsname: 
     338                    unitClasses.append(clsname) 
     339             
     340            self.add_store(name, store, unitClasses) 
     341     
     342    def add_store(self, name, store, unitClasses=[]): 
     343        """Register a StorageManager.""" 
     344        self.stores[name] = store 
    339345         
    340346        # Fill Roster, a Prism of class-associated data. 
    341         unitClasses = options.get('Units', '') 
    342347        if unitClasses: 
    343             for clsname in unitClasses.split(","): 
    344                 clsname = clsname.strip() 
     348            for clsname in unitClasses: 
    345349                if clsname: 
    346350                    self.roster.add(name=clsname, cls=None, store=store) 
     
    349353     
    350354    def shutdown(self): 
     355        """Shutdown the arena.""" 
    351356        # Tell all stores to shut down. 
    352357        stores = [(x.shutdownOrder, x) for x in self.stores.itervalues()] 
  • trunk/storage/__init__.py

    r8 r9  
    1414    """ 
    1515     
    16     name = u'' 
    17     shutdownOrder = 0 
    18      
    1916    def __init__(self, name, arena, allOptions={}): 
    20         raise NotImplementedError 
     17        self.name = name 
     18        self.arena = arena 
     19        self.shutdownOrder = int(allOptions.get('Shutdown Order', '0')) 
    2120     
    2221    def recall(self, unitClass, expr=None): 
     
    4948     
    5049    def __init__(self, name, arena, allOptions={}): 
    51         self.name = name 
     50        storage.StorageManager.__init__(self, name, arena, allOptions) 
     51         
    5252        nextstore = allOptions.get('Next Store') 
    5353        if nextstore: 
  • trunk/storage/storeado.py

    r8 r9  
    631631        pythoncom.CoInitialize() 
    632632         
    633         self.name = name 
    634         self.arena = arena 
     633        storage.StorageManager.__init__(self, name, arena, allOptions) 
    635634         
    636635        self.connstring = allOptions[u'Connect']