Code to easily run functions from util.img

This commit is contained in:
Kovid Goyal 2016-05-08 13:26:34 +05:30
parent b7b01b08be
commit b1d028fc06

View File

@ -4,7 +4,7 @@
from __future__ import (unicode_literals, division, absolute_import, from __future__ import (unicode_literals, division, absolute_import,
print_function) print_function)
import os, subprocess, errno, shutil, tempfile import os, subprocess, errno, shutil, tempfile, sys
from threading import Thread from threading import Thread
from PyQt5.Qt import QImage, QByteArray, QBuffer, Qt, QImageReader, QColor, QImageWriter, QTransform from PyQt5.Qt import QImage, QByteArray, QBuffer, Qt, QImageReader, QColor, QImageWriter, QTransform
@ -390,3 +390,32 @@ def test():
raise SystemExit('optimize_png failed: %s' % ret) raise SystemExit('optimize_png failed: %s' % ret)
if glob('*.bak'): if glob('*.bak'):
raise SystemExit('Spurious .bak files left behind') raise SystemExit('Spurious .bak files left behind')
if __name__ == '__main__':
args = sys.argv[1:]
infile = args.pop(0)
img = image_from_data(lopen(infile, 'rb').read())
func = globals()[args[0]]
kw = {}
args.pop(0)
outf = None
while args:
k = args.pop(0)
if '=' in k:
n, v = k.partition('=')[::2]
try:
v = int(v)
except Exception:
try:
v = float(v)
except Exception:
pass
kw[n] = v
else:
outf = k
if outf is None:
bn = os.path.basename(infile)
outf = bn.rpartition('.')[0] + '.' + '-output' + bn.rpartition('.')[-1]
img = func(img, **kw)
with lopen(outf, 'wb') as f:
f.write(image_to_data(img))