コード例 #1
0
 def make_persistent(self, instance):
     print 'Make persistent called with %s' % (instance, )
     if not IPersistent.providedBy(instance):
         print '\tIPersistent not provided, directly providing'
         directly_provides(instance, IPersistent)
     persistent = IPersistentObject(instance)
     self._configure_persistence(persistent)
     persistent.set_unsaved()
     self.notify_modified(instance)
コード例 #2
0
ファイル: manager.py プロジェクト: mcruse/monotone
 def make_persistent(self, instance):
     print 'Make persistent called with %s' % (instance,)
     if not IPersistent.providedBy(instance):
         print '\tIPersistent not provided, directly providing'
         directly_provides(instance, IPersistent)
     persistent = IPersistentObject(instance)
     self._configure_persistence(persistent)
     persistent.set_unsaved()
     self.notify_modified(instance)
コード例 #3
0
ファイル: adapters.py プロジェクト: mcruse/monotone
 def __new__(klass, instance):
     adapter = getattr(instance, '__persistenceAdapter__', None)
     if not adapter:
         isclass = inspect.isclass(instance)
         if not isclass and not IPersistent.providedBy(instance):
             raise ComponentLookupError(
                 '%s must povide IPersistent.' % (instance))
         adapter = super(PersistentAdapter, klass).__new__(klass, instance)
         adapter.initialize(instance)
         if not isclass:
             instance.__persistenceAdapter__ = adapter
     return adapter
コード例 #4
0
ファイル: adapters.py プロジェクト: ed-aicradle/monotone
 def __new__(klass, instance):
     adapter = getattr(instance, '__persistenceAdapter__', None)
     if not adapter:
         isclass = inspect.isclass(instance)
         if not isclass and not IPersistent.providedBy(instance):
             raise ComponentLookupError('%s must povide IPersistent.' %
                                        (instance))
         adapter = super(PersistentAdapter, klass).__new__(klass, instance)
         adapter.initialize(instance)
         if not isclass:
             instance.__persistenceAdapter__ = adapter
     return adapter
コード例 #5
0
ファイル: manager.py プロジェクト: mcruse/monotone
 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
コード例 #6
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
コード例 #7
0
ファイル: manager.py プロジェクト: mcruse/monotone
 def make_persistent_type(self, klass):
     if not inspect.isclass(klass):
         raise TypeError('Argument must be class.')
     if not IPersistent.implementedBy(klass):
         class_implements(klass, IPersistent)
コード例 #8
0
 def make_persistent_type(self, klass):
     if not inspect.isclass(klass):
         raise TypeError('Argument must be class.')
     if not IPersistent.implementedBy(klass):
         class_implements(klass, IPersistent)