生成持久序列
项目描述
该项目是gocept.sequence(http://pypi.python.org/pypi/gocept.sequence/)的分支,最初由Daniel Havlik和Sebastian Wehrmann创建。
cykooz.sequence
生成持久序列。
序列
>>> import persistent >>> import zope.annotation.interfaces >>> from zope.interface import implements
我们需要一个测试对象,其中SequenceGenerator存储其数据
>>> class Dummy(persistent.Persistent): ... implements(zope.annotation.interfaces.IAttributeAnnotatable)
>>> test_object = Dummy()
通过适配ISequenceGenerator,您可以获取SequenceGenerator
>>> from cykooz.sequence.interfaces import ISequenceGenerator >>> seq_gen = ISequenceGenerator(test_object)
您将获得这样的序列
>>> seq_gen.getNextValue() 1 >>> seq_gen.getNextValue() 2 >>> seq_gen.getNextValue() 3
您还可以将生成器设置为某个值
>>> seq_gen.setNextValue(1) >>> seq_gen.getNextValue() 1
>>> seq_gen.setNextValue(5) >>> seq_gen.getNextValue() 5 >>> seq_gen.getNextValue() 6 >>> seq_gen.getNextValue() 7 >>> seq_gen.getNextValue() 8
但setNextValue只接受整数参数
>>> seq_gen.setNextValue('1') Traceback (most recent call last): ... ValueError: setNextValue expected Integer, <type 'str'> found.
>>> seq_gen.setNextValue(3.14) Traceback (most recent call last): ... ValueError: setNextValue expected Integer, <type 'float'> found.
更改
1.0.2 (2011-05-17)
修复测试。
1.0.1 (2011-05-16)
修复获取注释的接口名称。
1.0.0 (2011-04-14)
删除了旧的迁移代码。
删除了对持久性的依赖。