summaryrefslogtreecommitdiff
path: root/pb/generate.py
diff options
context:
space:
mode:
authorPepper <pepper@scannerjammer.com>2015-05-11 05:45:57 -0400
committerPepper <pepper@scannerjammer.com>2015-05-11 05:45:57 -0400
commita065ca4dd1a4726ed9ea703ba6d12150ee4b8922 (patch)
tree038d62e1b8032bebc6498ab52f88fe1b94781270 /pb/generate.py
parent7daa48ab2ec9c56340f37d4adce549163765e183 (diff)
push
Diffstat (limited to 'pb/generate.py')
-rwxr-xr-xpb/generate.py32
1 files changed, 21 insertions, 11 deletions
diff --git a/pb/generate.py b/pb/generate.py
index ffa0e8e..7e97ad7 100755
--- a/pb/generate.py
+++ b/pb/generate.py
@@ -20,6 +20,9 @@ COMPOSE_PARAMS = [ "Over", "ATop", "Dst_Over", "Dst_In", "Dst_Out", "Multiply",
DISPOSE_PARAMS = ["None","Previous","Background"]
DISPOSE_DEFAULT = "None"
+def debuglog(s):
+ sys.stderr.write(str(s) + "\n");
+
class Generate():
def __init__(self, **kwargs):
self.params = {}
@@ -63,13 +66,13 @@ class Generate():
"format",
#STRINGS
- "name",
+ "username",
"callback",
#}}}
]
for k in self._required_keys:
if k in kwargs:
- if k in [ 'url', 'background' ] and utils.bool_correct(kwargs[k]):
+ if k in [ 'url', 'background' ] and kwargs[k] != "" and kwargs[k] != None:
self.params[k] = {
'url' : kwargs[k],
'filename' : self._make_tempname(k),
@@ -101,8 +104,16 @@ class Generate():
elif k == 'dispose' and self._test_enum(kwargs[k], DISPOSE_PARAMS):
self.params[k] = kwargs[k]
elif k in [ "fuzz", "width", "height", "brightness", "contrast", "saturation", "rotate", "hue" ]:
- self.params[k] = str(int(kwargs[k]))
+ if kwargs[k] == '':
+ self.params[k] = None
+ else:
+ try:
+ self.params[k] = str(int(kwargs[k]))
+ except Exception as e:
+ raise Exception("Problem with param {}:\n".format(k) + str(e))
else:
+
+
self.params[k] = utils.sanitize(kwargs[k])
if self.params.get('background'):
@@ -161,21 +172,20 @@ class Generate():
cmd += ["-fuzz", "{}%".format(self.params['fuzz']) ]
cmd += [ "-transparent", self.params.get('subtract', "white") ]
if self.params.get('width') or self.params.get('height'):
- if self.params.get('nearest'):
- if self.params.get('format') == "gif":
+ if self.params.get('nearest') and self.params.get('format') == "gif":
cmd += [ "-coalesce","+map","-interpolate","Nearest","-interpolative-resize" ]
- else:
- cmd.append("-resize")
- cmd += [ "{}x{}".format(self.params.get('width',""), self.params.get('height',"")) ]
+ else:
+ cmd.append("-resize")
+ cmd += [ "{}x{}".format(self.params.get('width',"") or "", self.params.get('height',"") or "") ]
if self.params.get('black') != "black" or self.params.get('white') != 'white':
cmd += [ "+level-colors" , "{},{}".format(self.params.get('black','black'), self.params.get('white', 'white')) ]
if self.params.get('contrast'): cmd += [ '-contrast-stretch', self.params['contrast'] ]
if any( e in self.params.keys() for e in ['brightness', 'saturation', 'hue' ]):
cmd += [
"-modulate", "{},{},{}".format(
- self.params.get('brightness', 100),
- self.params.get('contrast', 100),
- self.params.get('hue', 100)
+ (self.params.get('brightness', 100) or 100),
+ (self.params.get('contrast', 100) or 100),
+ (self.params.get('hue', 100) or 100)
)]
cmd.append("-coalesce"); #why? #FIXME
cmd += [ self.filepath ];