|
|
- #
- # The Python Imaging Library.
- # $Id$
- #
- # sequence support classes
- #
- # history:
- # 1997-02-20 fl Created
- #
- # Copyright (c) 1997 by Secret Labs AB.
- # Copyright (c) 1997 by Fredrik Lundh.
- #
- # See the README file for information on usage and redistribution.
- #
-
- ##
-
-
- class Iterator(object):
- """
- This class implements an iterator object that can be used to loop
- over an image sequence.
-
- You can use the ``[]`` operator to access elements by index. This operator
- will raise an :py:exc:`IndexError` if you try to access a nonexistent
- frame.
-
- :param im: An image object.
- """
-
- def __init__(self, im):
- if not hasattr(im, "seek"):
- raise AttributeError("im must have seek method")
- self.im = im
- self.position = 0
-
- def __getitem__(self, ix):
- try:
- self.im.seek(ix)
- return self.im
- except EOFError:
- raise IndexError # end of sequence
-
- def __iter__(self):
- return self
-
- def __next__(self):
- try:
- self.im.seek(self.position)
- self.position += 1
- return self.im
- except EOFError:
- raise StopIteration
-
- def next(self):
- return self.__next__()
|