/usr/bin/pilfile.py is in python-imaging 1.1.7-4ubuntu0.12.04.3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | #! /usr/bin/python
#
# The Python Imaging Library.
# $Id$
#
# a utility to identify image files
#
# this script identifies image files, extracting size and
# pixel mode information for known file formats. Note that
# you don't need the PIL C extension to use this module.
#
# History:
# 0.0 1995-09-01 fl Created
# 0.1 1996-05-18 fl Modified options, added debugging mode
# 0.2 1996-12-29 fl Added verify mode
# 0.3 1999-06-05 fl Don't mess up on class exceptions (1.5.2 and later)
# 0.4 2003-09-30 fl Expand wildcards on Windows; robustness tweaks
#
import site
import getopt, glob, sys
from PIL import Image
if len(sys.argv) == 1:
print "PIL File 0.4/2003-09-30 -- identify image files"
print "Usage: pilfile [option] files..."
print "Options:"
print " -f list supported file formats"
print " -i show associated info and tile data"
print " -v verify file headers"
print " -q quiet, don't warn for unidentified/missing/broken files"
sys.exit(1)
try:
opt, args = getopt.getopt(sys.argv[1:], "fqivD")
except getopt.error, v:
print v
sys.exit(1)
verbose = quiet = verify = 0
for o, a in opt:
if o == "-f":
Image.init()
id = Image.ID[:]
id.sort()
print "Supported formats:"
for i in id:
print i,
sys.exit(1)
elif o == "-i":
verbose = 1
elif o == "-q":
quiet = 1
elif o == "-v":
verify = 1
elif o == "-D":
Image.DEBUG = Image.DEBUG + 1
def globfix(files):
# expand wildcards where necessary
if sys.platform == "win32":
out = []
for file in files:
if glob.has_magic(file):
out.extend(glob.glob(file))
else:
out.append(file)
return out
return files
for file in globfix(args):
try:
im = Image.open(file)
print "%s:" % file, im.format, "%dx%d" % im.size, im.mode,
if verbose:
print im.info, im.tile,
print
if verify:
try:
im.verify()
except:
if not quiet:
print "failed to verify image",
print "(%s:%s)" % (sys.exc_type, sys.exc_value)
except IOError, v:
if not quiet:
print file, "failed:", v
except:
import traceback
if not quiet:
print file, "failed:", "unexpected error"
traceback.print_exc(file=sys.stdout)
|