mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 16:07:30 +03:00 
			
		
		
		
	Merge pull request #10 from homm/cache
Return fresh image is no mode specified and cached version otherwise
This commit is contained in:
		
						commit
						22298f7689
					
				|  | @ -182,23 +182,25 @@ def tostring(im, format, **options): | |||
|     return out.getvalue() | ||||
| 
 | ||||
| 
 | ||||
| def hopper(mode="RGB", cache={}): | ||||
| def hopper(mode=None, cache={}): | ||||
|     from PIL import Image | ||||
|     im = None | ||||
|     # Use caching to reduce reading from disk but so an original copy is  | ||||
|     if mode is None: | ||||
|         # Always return fresh not-yet-loaded version of image. | ||||
|         # Operations on not-yet-loaded images is separate class of errors | ||||
|         # what we should catch. | ||||
|         return Image.open("Tests/images/hopper.ppm") | ||||
|     # Use caching to reduce reading from disk but so an original copy is | ||||
|     # returned each time and the cached image isn't modified by tests | ||||
|     # (for fast, isolated, repeatable tests). | ||||
|     im = cache.get(mode) | ||||
|     if im is None: | ||||
|         if mode == "RGB": | ||||
|             im = Image.open("Tests/images/hopper.ppm") | ||||
|         elif mode == "F": | ||||
|         if mode == "F": | ||||
|             im = hopper("L").convert(mode) | ||||
|         elif mode[:4] == "I;16": | ||||
|             im = hopper("I").convert(mode) | ||||
|         else: | ||||
|             im = hopper("RGB").convert(mode) | ||||
|     cache[mode] = im | ||||
|             im = hopper().convert(mode) | ||||
|         cache[mode] = im | ||||
|     return im.copy() | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user