1. 25 7月, 2013 2 次提交
    • J
      812befe8
    • J
      virt: Replace Versionable class with new version. · a6d2791f
      Jiří Župka 提交于
      new version
      pros) multiple version of class in one process
            change version of class by parameters passed by class factory.
            support of pickling.
      cons) It is necessary use factory and line with registration of module.
            For access to specific class version is necessary to use class
            manager.
      
      usage:
        from versionable_class import Manager, factory, VersionableClass
        #register module to class manager. Necessary for pickling.
        man = Manager(__name__)
      
        class VM1(object):
          @classmethod
          def _is_right_ver(cls, version):
              return True
      
          def __init__(self, *args, **kargs):
              super(VM1, self).__init__(*args, **kargs)
      
          def fn1(self):
              print "fn1_VM1"
      
      class VM_container(test_vers.VersionableClass):
          __master__ = VM1
      
      o = test_vers.factory(VM_container)   # return class
      o = o()    # create instance of class
      o.fn1()
      
      Already used by openvswitch.
      Signed-off-by: NJiří Župka <jzupka@redhat.com>
      a6d2791f
  2. 24 7月, 2013 3 次提交
  3. 23 7月, 2013 2 次提交
  4. 22 7月, 2013 7 次提交
  5. 19 7月, 2013 14 次提交
  6. 18 7月, 2013 5 次提交
  7. 17 7月, 2013 5 次提交
  8. 16 7月, 2013 2 次提交