Esempio n. 1
0
 def store(self, instance):
     written = {}
     persistent = IPersistentObject(instance)
     oid = persistent.get_oid()
     instance = persistent.get_object()
     print 'Store %s with OID %s' % (instance, oid)
     transformation_writer = self.writer_factory(instance)
     transformation_writer.set_manager(self)
     for instance in transformation_writer:
         persistent = IPersistentObject(instance)
         oid = persistent.get_oid()
         if written.has_key(oid):
             continue
         if persistent.is_persistent() and not persistent.is_saved():
             instance = persistent.get_object()
             transformation = transformation_writer.write(instance)
             print '\t-> storing %s with OID %s' % (instance, oid)
             self.storage.store_record(oid, transformation)
             written[oid] = None
             persistent.set_saved()
             self.cache.add_instance(oid, instance)
         else: print '\t-> not storing %s with OID %s' % (instance, oid)
Esempio n. 2
0
 def get_oid(self, instance):
     print 'get_oid(%s)' % (instance,)
     if isinstance(instance, _never_persistent):
         print '\t-> None, is instance of _never_persistent'
         return None
     if type(instance) in (dict, list):
         print '\t-> None, type in dict, list'
         return None
     if not IPersistent.providedBy(instance):
         print '\t-> None, IPersistent not provided by instance'
         return None
     persistent = IPersistentObject(instance)
     if persistent.get_oid() is None:
         self._configure_persistence(persistent)
         persistent.set_loaded()
         persistent.set_unsaved()
     elif not persistent.is_persistent():
         print '\t-> None, not persistent.is_persistent()'
         return None
     oid = persistent.get_oid()
     print '\t%s OID => %s' % (instance, oid)
     return oid
Esempio n. 3
0
 def get_oid(self, instance):
     print 'get_oid(%s)' % (instance, )
     if isinstance(instance, _never_persistent):
         print '\t-> None, is instance of _never_persistent'
         return None
     if type(instance) in (dict, list):
         print '\t-> None, type in dict, list'
         return None
     if not IPersistent.providedBy(instance):
         print '\t-> None, IPersistent not provided by instance'
         return None
     persistent = IPersistentObject(instance)
     if persistent.get_oid() is None:
         self._configure_persistence(persistent)
         persistent.set_loaded()
         persistent.set_unsaved()
     elif not persistent.is_persistent():
         print '\t-> None, not persistent.is_persistent()'
         return None
     oid = persistent.get_oid()
     print '\t%s OID => %s' % (instance, oid)
     return oid
Esempio n. 4
0
 def store(self, instance):
     written = {}
     persistent = IPersistentObject(instance)
     oid = persistent.get_oid()
     instance = persistent.get_object()
     print 'Store %s with OID %s' % (instance, oid)
     transformation_writer = self.writer_factory(instance)
     transformation_writer.set_manager(self)
     for instance in transformation_writer:
         persistent = IPersistentObject(instance)
         oid = persistent.get_oid()
         if written.has_key(oid):
             continue
         if persistent.is_persistent() and not persistent.is_saved():
             instance = persistent.get_object()
             transformation = transformation_writer.write(instance)
             print '\t-> storing %s with OID %s' % (instance, oid)
             self.storage.store_record(oid, transformation)
             written[oid] = None
             persistent.set_saved()
             self.cache.add_instance(oid, instance)
         else:
             print '\t-> not storing %s with OID %s' % (instance, oid)