t.p.s.Versioned : class documentation

Part of twisted.persisted.styles View Source View In Hierarchy

Known subclasses: twisted.names.hosts.Resolver, twisted.python.components.Componentized, twisted.web.distrib.ResourcePublisher, twisted.web.static.File, twisted.web.static.Registry, twisted.words.im.basesupport.AbstractAccount

This type of object is persisted with versioning information.

I have a single class attribute, the int persistenceVersion. After I am unserialized (and styles.doUpgrade() is called), self.upgradeToVersionX() will be called for each version upgrade I must undergo.

For example, if I serialize an instance of a Foo(Versioned) at version 4 and then unserialize it when the code is at version 9, the calls:
 self.upgradeToVersion5()
 self.upgradeToVersion6()
 self.upgradeToVersion7()
 self.upgradeToVersion8()
 self.upgradeToVersion9()
will be made. If any of these methods are undefined, a warning message will be printed.
Method __setstate__ Undocumented
Method __getstate__ Get state, adding a version number to it on its way out.
Method versionUpgrade (internal) Do a version upgrade.
def __setstate__(self, state): (source)
Undocumented
def __getstate__(self, dict=None): (source)
Get state, adding a version number to it on its way out.
def versionUpgrade(self): (source)
(internal) Do a version upgrade.
API Documentation for Twisted, generated by pydoctor at 2011-10-27 16:17:34.