mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 01:47:47 +03:00 
			
		
		
		
	Remove redundant files
This commit is contained in:
		
							parent
							
								
									106fc4085f
								
							
						
					
					
						commit
						ebed90c228
					
				| 
						 | 
					@ -1,14 +0,0 @@
 | 
				
			||||||
import glob
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import traceback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
sys.path.insert(0, ".")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
for file in glob.glob("src/PIL/*.py"):
 | 
					 | 
				
			||||||
    module = os.path.basename(file)[:-3]
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        exec("from PIL import " + module)
 | 
					 | 
				
			||||||
    except (ImportError, SyntaxError):
 | 
					 | 
				
			||||||
        print("===", "failed to import", module)
 | 
					 | 
				
			||||||
        traceback.print_exc()
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,66 +0,0 @@
 | 
				
			||||||
# brute-force search for access descriptor hash table
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
modes = [
 | 
					 | 
				
			||||||
    "1",
 | 
					 | 
				
			||||||
    "L",
 | 
					 | 
				
			||||||
    "LA",
 | 
					 | 
				
			||||||
    "La",
 | 
					 | 
				
			||||||
    "I",
 | 
					 | 
				
			||||||
    "I;16",
 | 
					 | 
				
			||||||
    "I;16L",
 | 
					 | 
				
			||||||
    "I;16B",
 | 
					 | 
				
			||||||
    "I;32L",
 | 
					 | 
				
			||||||
    "I;32B",
 | 
					 | 
				
			||||||
    "F",
 | 
					 | 
				
			||||||
    "P",
 | 
					 | 
				
			||||||
    "PA",
 | 
					 | 
				
			||||||
    "RGB",
 | 
					 | 
				
			||||||
    "RGBA",
 | 
					 | 
				
			||||||
    "RGBa",
 | 
					 | 
				
			||||||
    "RGBX",
 | 
					 | 
				
			||||||
    "CMYK",
 | 
					 | 
				
			||||||
    "YCbCr",
 | 
					 | 
				
			||||||
    "LAB",
 | 
					 | 
				
			||||||
    "HSV",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def hash(s, i):
 | 
					 | 
				
			||||||
    # djb2 hash: multiply by 33 and xor character
 | 
					 | 
				
			||||||
    for c in s:
 | 
					 | 
				
			||||||
        i = (((i << 5) + i) ^ ord(c)) & 0xFFFFFFFF
 | 
					 | 
				
			||||||
    return i
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def check(size, i0):
 | 
					 | 
				
			||||||
    h = [None] * size
 | 
					 | 
				
			||||||
    for m in modes:
 | 
					 | 
				
			||||||
        i = hash(m, i0)
 | 
					 | 
				
			||||||
        i = i % size
 | 
					 | 
				
			||||||
        if h[i]:
 | 
					 | 
				
			||||||
            return 0
 | 
					 | 
				
			||||||
        h[i] = m
 | 
					 | 
				
			||||||
    return h
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
min_start = 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# 1) find the smallest table size with no collisions
 | 
					 | 
				
			||||||
for min_size in range(len(modes), 16384):
 | 
					 | 
				
			||||||
    if check(min_size, 0):
 | 
					 | 
				
			||||||
        print(len(modes), "modes fit in", min_size, "slots")
 | 
					 | 
				
			||||||
        break
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# 2) see if we can do better with a different initial value
 | 
					 | 
				
			||||||
for i0 in range(65556):
 | 
					 | 
				
			||||||
    for size in range(1, min_size):
 | 
					 | 
				
			||||||
        if check(size, i0):
 | 
					 | 
				
			||||||
            if size < min_size:
 | 
					 | 
				
			||||||
                print(len(modes), "modes fit in", size, "slots with start", i0)
 | 
					 | 
				
			||||||
                min_size = size
 | 
					 | 
				
			||||||
                min_start = i0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
print()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
print("#define ACCESS_TABLE_SIZE", min_size)
 | 
					 | 
				
			||||||
print("#define ACCESS_TABLE_HASH", min_start)
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,57 +0,0 @@
 | 
				
			||||||
import io
 | 
					 | 
				
			||||||
import queue
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import threading
 | 
					 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from PIL import Image
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
test_format = sys.argv[1] if len(sys.argv) > 1 else "PNG"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
im = Image.open("Tests/images/hopper.ppm")
 | 
					 | 
				
			||||||
im.load()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
queue = queue.Queue()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
result = []
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class Worker(threading.Thread):
 | 
					 | 
				
			||||||
    def run(self):
 | 
					 | 
				
			||||||
        while True:
 | 
					 | 
				
			||||||
            im = queue.get()
 | 
					 | 
				
			||||||
            if im is None:
 | 
					 | 
				
			||||||
                queue.task_done()
 | 
					 | 
				
			||||||
                sys.stdout.write("x")
 | 
					 | 
				
			||||||
                break
 | 
					 | 
				
			||||||
            f = io.BytesIO()
 | 
					 | 
				
			||||||
            im.save(f, test_format, optimize=1)
 | 
					 | 
				
			||||||
            data = f.getvalue()
 | 
					 | 
				
			||||||
            result.append(len(data))
 | 
					 | 
				
			||||||
            im = Image.open(io.BytesIO(data))
 | 
					 | 
				
			||||||
            im.load()
 | 
					 | 
				
			||||||
            sys.stdout.write(".")
 | 
					 | 
				
			||||||
            queue.task_done()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
t0 = time.time()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
threads = 20
 | 
					 | 
				
			||||||
jobs = 100
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
for i in range(threads):
 | 
					 | 
				
			||||||
    w = Worker()
 | 
					 | 
				
			||||||
    w.start()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
for i in range(jobs):
 | 
					 | 
				
			||||||
    queue.put(im)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
for i in range(threads):
 | 
					 | 
				
			||||||
    queue.put(None)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
queue.join()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
print()
 | 
					 | 
				
			||||||
print(time.time() - t0)
 | 
					 | 
				
			||||||
print(len(result), sum(result))
 | 
					 | 
				
			||||||
print(result)
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,26 +0,0 @@
 | 
				
			||||||
from PIL import Image
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def version(module, version):
 | 
					 | 
				
			||||||
    v = getattr(module.core, version + "_version", None)
 | 
					 | 
				
			||||||
    if v:
 | 
					 | 
				
			||||||
        print(version, v)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
version(Image, "jpeglib")
 | 
					 | 
				
			||||||
version(Image, "zlib")
 | 
					 | 
				
			||||||
version(Image, "libtiff")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    from PIL import ImageFont
 | 
					 | 
				
			||||||
except ImportError:
 | 
					 | 
				
			||||||
    pass
 | 
					 | 
				
			||||||
else:
 | 
					 | 
				
			||||||
    version(ImageFont, "freetype2")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    from PIL import ImageCms
 | 
					 | 
				
			||||||
except ImportError:
 | 
					 | 
				
			||||||
    pass
 | 
					 | 
				
			||||||
else:
 | 
					 | 
				
			||||||
    version(ImageCms, "littlecms")
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user