mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 16:07:30 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #
 | |
| # 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__()
 |