skip to navigation
skip to content

cykooz.sequence 1.0.2

Generates a persistent sequence

This project is a fork of gocept.sequence (http://pypi.python.org/pypi/gocept.sequence/) originally created by Daniel Havlik and Sebastian Wehrmann.

cykooz.sequence

Generates a persistent sequence.

Sequences

>>> import persistent
>>> import zope.annotation.interfaces
>>> from zope.interface import implements

We need a testobject, where the SequenceGenerator stores his data:

>>> class Dummy(persistent.Persistent):
...     implements(zope.annotation.interfaces.IAttributeAnnotatable)
>>> test_object = Dummy()

You get a SequenceGenerator by adapting to ISequenceGenerator:

>>> from cykooz.sequence.interfaces import ISequenceGenerator
>>> seq_gen = ISequenceGenerator(test_object)

You get a sequence like this:

>>> seq_gen.getNextValue()
1
>>> seq_gen.getNextValue()
2
>>> seq_gen.getNextValue()
3

You can also set the generator to a value:

>>> 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

But setNextValue only accepts integer arguments:

>>> 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.

Changes

1.0.2 (2011-05-17)

  • Fix tests.

1.0.1 (2011-05-16)

  • Fix interface name for getting annotations.

1.0.0 (2011-04-14)

  • Removed old migration code.
  • Removed the dependency from Persistence.
 
File Type Py Version Uploaded on Size
cykooz.sequence-1.0.2.tar.gz (md5) Source 2011-05-17 3KB