diff options
| author | Pepper <pepper@scannerjammer.com> | 2015-05-11 05:45:57 -0400 |
|---|---|---|
| committer | Pepper <pepper@scannerjammer.com> | 2015-05-11 05:45:57 -0400 |
| commit | a065ca4dd1a4726ed9ea703ba6d12150ee4b8922 (patch) | |
| tree | 038d62e1b8032bebc6498ab52f88fe1b94781270 /pb/generate.py | |
| parent | 7daa48ab2ec9c56340f37d4adce549163765e183 (diff) | |
push
Diffstat (limited to 'pb/generate.py')
| -rwxr-xr-x | pb/generate.py | 32 |
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 ]; |
