Merge branch 'master' of git@host.fluxility.com:optimg

Conflicts:
	trimage.py
This commit is contained in:
Kilian Valkhof 2010-02-05 22:24:03 +01:00
commit 18ce2061fc

View file

@ -1,7 +1,7 @@
import sys
from os import system
from os import listdir
from os import path
import os.path
from subprocess import *
from optparse import OptionParser
@ -84,11 +84,11 @@ class StartQT4(QMainWindow):
compress_file."""
global showapp
showapp = False
dirpath = path.abspath(path.dirname(directory))
dirpath = os.path.abspath(os.path.dirname(directory))
imagedir = listdir(directory)
filelist = QStringList()
for image in imagedir:
image = QString(path.join(dirpath, image))
image = QString(os.path.join(dirpath, image))
filelist.append(image)
self.delegator(filelist)
@ -96,7 +96,7 @@ class StartQT4(QMainWindow):
"""Get the file and send it to compress_file"""
global showapp
showapp = False
image = path.abspath(image)
image = os.path.abspath(image)
filecmdlist = QStringList()
filecmdlist.append(image)
self.delegator(filecmdlist)
@ -181,7 +181,7 @@ class StartQT4(QMainWindow):
def checkname(self, name):
"""Check if the file is a jpg or png."""
return path.splitext(str(name))[1].lower() in [".jpg", ".jpeg", ".png"]
return os.path.splitext(str(name))[1].lower() in [".jpg", ".jpeg", ".png"]
def enable_recompress(self):
"""Enable the recompress button."""
@ -231,7 +231,6 @@ class TriTableModel(QAbstractTableModel):
class Worker(QThread):
def __init__(self, parent=None):
QThread.__init__(self, parent)
self.exiting = False
@ -250,30 +249,36 @@ class Worker(QThread):
for image in self.images:
#gather old file data
filename = image[0]
print filename, type(filename), str(filename), type(path)
icon = image[1]
oldfile = QFileInfo(filename)
name = oldfile.fileName()
oldfilesize = oldfile.size()
oldfilesizestr = size(oldfilesize, system=alternative)
# get extention
print os.path, type(filename), type(os.path), str(filename)
baseName, extention = os.path.splitext(filename)
#decide with tool to use
if path.splitext(str(filename))[1].lower() in [".jpg", ".jpeg"]:
runstr = 'jpegoptim -f --strip-all "' + str(filename) + '"'
if extention in ['.jpg', '.jpeg']:
runString = 'jpegoptim -f --strip-all "%(file)s"'
elif extention in ['.png']:
runString = 'optipng -force -o7 "%(file)s"; advpng -z4 "%(file)s"'
else:
# This probably should never happen...
raise Exception('File %s does not have the appropriate extention' % filename)
try:
retcode = call(runstr, shell=True, stdout=PIPE)
runfile = retcode
except OSError, e:
runfile = e
elif path.splitext(str(filename))[1].lower() in [".png"]:
runstr = ('optipng -force -o7 "' + str(filename)
+ '"; advpng -z4 "' + str(filename) + '"')
try:
retcode = call(runstr, shell=True, stdout=PIPE)
retcode = call(runString % {'file' : filename}, shell=True, stdout=PIPE)
runfile = retcode
except OSError, e:
runfile = e
if runfile == 0:
if runfile != 0:
# TODO nice error recovery
raise Exception('Some error occurred!')
#gather new file data
newfile = QFile(filename)
newfilesize = newfile.size()
@ -284,22 +289,19 @@ class Worker(QThread):
ratiostr = "%.1f%%" % ratio
# append current image to list
global imagelist
for i, image in enumerate(imagelist):
if image[4] == filename:
imagelist.remove(image)
imagelist.insert(i, (name, oldfilesizestr,
newfilesizestr, ratiostr, filename, icon))
imagelist.insert(i, (name, oldfilesizestr, newfilesizestr, ratiostr,
filename, icon))
self.emit(SIGNAL("updateUi"))
global showapp
if showapp != True:
if not showapp:
# we work via the commandline
print("File:" + filename + ", Old Size:" + oldfilesizestr +
", New Size:" + newfilesizestr +
", Ratio:" + ratiostr)
else:
print("[error]" + runfile)
", New Size:" + newfilesizestr + ", Ratio:" + ratiostr)
if __name__ == "__main__":
app = QApplication(sys.argv)