From d644dc77b51cb82a95d4f81af20a28fe87abd6c1 Mon Sep 17 00:00:00 2001 From: Pepper Date: Thu, 26 Feb 2015 15:49:20 -0500 Subject: minor fixes --- gradient.py | 62 ++++++++++++++++++--------------------------- imgrid.py | 83 +++++++++++++++++++------------------------------------------ 2 files changed, 49 insertions(+), 96 deletions(-) diff --git a/gradient.py b/gradient.py index fbdba3f..baefc6b 100755 --- a/gradient.py +++ b/gradient.py @@ -7,6 +7,7 @@ import sys import os import db import sha + #{{{ logging #import logging #logger = logging.getLogger('gradient') @@ -17,7 +18,6 @@ import sha #logger.setLevel(logging.WARNING) #}}} -BASE_URL = "http://localhost:8080/" PARAM_LIST = [ "width", "height", "color1", "color2", @@ -36,7 +36,6 @@ PARAM_LIST = [ BIN_CONVERT = "/usr/bin/convert" BIN_IDENTIFY = "/usr/bin/identify" BEVELBORDER = "./bevelborder" -WEB_ADDR = "http://i.asdf.us" DEFAULT_FORMAT = "png" DEFAULT_COLORS = { "color1" : "white", @@ -47,8 +46,6 @@ WORKING_DIR = '/tmp' DEFAULT_WIDTH = "200" DEFAULT_HEIGHT = "200" -REMOTE_ADDRESS = "" - BEVELVALUES = { "flatout": ["-s","-m","outer"], "flatinner": ["-s","-m","inner"], @@ -82,6 +79,7 @@ class Gradient: def __init__(self, form): self.now = int(time.time()) self.tag = "imGradient" + self.directory = WORKING_DIR self.commands = [] self.filename = "" self.filepath = "" @@ -118,7 +116,17 @@ class Gradient: self.params['filetype'] or DEFAULT_FORMAT, ) - def buildCmd(self, filename, directory=WORKING_DIR): + def _call_cmd(self, cmd, error=""): + try: + call(cmd) + self.commands.append(" ".join(cmd)); + except Exception as e: + if error: + sys.stderr.write(error) + else: + sys.stderr.write(str(e)) + + def _build_cmd(self): cmd = [BIN_CONVERT] cmd.extend([ '-size', @@ -180,28 +188,16 @@ class Gradient: self.params['saturation'] or "100", self.params['hue'] or "100") ] - cmd.append(os.path.join(directory,filename)); -# logger.warning('in buildCmd: {}' % cmd) - try: - call(cmd) - self.commands.append(" ".join(cmd)); - except Exception as e: - sys.stderr.write( "ERROR:{}".format(e)) - raise; - return cmd - + cmd.append(os.path.join(self.directory,self.filename)); + self._call_cmd(cmd) - def makeBevel(self, filename, directory): + def _make_bevel(self): def get_bevelvalue(key, bevpercentval): bevel_args = BEVELVALUES[key] bevel_args.insert(1, bevpercentval) return bevel_args if self.params['percentbeveled']: - try: - w, h = map(int, (self.params['width'], self.params['height'])) - except Exception as e: - sys.stderr.write( "ERROR: {}".format(e)) - exit(1); + w, h = map(int, (self.params['width'], self.params['height'])) if h >= w: bevpercentval = str(int(self.params['percentbeveled'])*0.005*int(h)) else: @@ -212,25 +208,15 @@ class Gradient: bevel = get_bevelvalue(self.params['bevel'], bevpercentval) cmd = [BEVELBORDER] cmd += bevel - cmd += [ os.path.join(directory,filename), os.path.join(directory, filename) ] - try: - call(cmd) - self.commands.append(" ".join(cmd)) - except Exception as e: - sys.stderr.write( "ERROR: {}".format(e)) - raise; + cmd += [ os.path.join(self.directory,self.filename), os.path.join(self.directory, self.filename) ] + self._call_cmd(cmd) - def create(self, directory=WORKING_DIR): + def create(self): self.filename = self.newfilename() - self.filepath = os.path.join(directory, self.filename) - self.buildCmd(self.filename, directory) + self.filepath = os.path.join(self.directory, self.filename) + self._build_cmd() if self.params['bevel'] in BEVELVALUES: - self.makeBevel(self.filename, directory) - self.output = [ - str(os.stat(self.filepath)[6]), - "{}px".format(self.params["width"]), - "{}px".format(self.params["height"]), - ] + self._make_bevel() TEST_FORM = { "width" : "200", @@ -254,4 +240,4 @@ if __name__ == "__main__": g.create(); print g.now print " ".join(g.commands) - print "\n".join(g.output) + print g.filename diff --git a/imgrid.py b/imgrid.py index a751b6b..5a893f7 100755 --- a/imgrid.py +++ b/imgrid.py @@ -121,7 +121,7 @@ class Imgrid(): self.now = now() self.files_created = [] self.commands = []; - self.required_keys = [ + self._required_keys = [ #{{{ required_keys "width", "height", @@ -148,7 +148,7 @@ class Imgrid(): "username" #}}} ] - for k in self.required_keys: + for k in self._required_keys: if k in params: if k in [ 'bgimage', 'planebgimage', 'imageinstead' ] and bool_correct(params[k]): self.params[k] = {} @@ -168,6 +168,8 @@ class Imgrid(): except Exception as e: sys.stderr.write(str(e)) raise; + elif k in [ 'bgcolor', 'planebgcolor' ]: + self.params[k] = params[k] else: self.params[k] = bool_correct(sanitize(params[k])) else: @@ -190,6 +192,16 @@ class Imgrid(): self.params.username or "" ); + def _call_cmd(self, cmd, error=""): + try: + call(cmd) + self.commands.append(" ".join(cmd)); + except Exception as e: + if error: + sys.stderr.write(error) + else: + sys.stderr.write(str(e)) + #makes a canvas file...step 1 (if not bgimage) def _make_canvas(self): dimensions = "{}x{}".format( @@ -200,12 +212,7 @@ class Imgrid(): return bgcolor = "xc:{}".format(self.params.bgcolor or 'transparent') cmd = [ BIN_CONVERT, "-size", dimensions, bgcolor, self.filepath ] - try: - call(cmd) - self.commands.append(" ".join(cmd)) - except Exception as e: - sys.stderr.write(str(e)) - raise; + self._call_cmd(cmd) #2nd step-- run grid def _grid_command(self): @@ -223,12 +230,7 @@ class Imgrid(): if self.params.linethickness: cmd += ['-t',self.params.linethickness] if self.params.opacity: cmd += ['-o',self.params.opacity] cmd += [ self.filepath, self.filepath ] - try: - call(cmd) - self.commands.append(" ".join(cmd)) - except Exception as e: - sys.stderr.write(str(e)) - raise; + self._call_cmd(cmd) def _shadow_cmd(self): #convert 1.png \( +clone -background black -shadow 110x1+9+9 \) +swap -background none -layers merge +repage 2.png @@ -239,12 +241,7 @@ class Imgrid(): "+swap","-background","none","-layers","merge","+repage" , self.filepath ] - try: - call(cmd) - self.commands.append(" ".join(cmd)) - except Exception as e: - sys.stderr.write(str(e)) - raise; + self._call_cmd(cmd) def _threed_rotate_cmd (self): @@ -263,40 +260,20 @@ class Imgrid(): cmd += ["skycolor={}".format(self.params.skycolor or 'none')] if self.params.transition: cmd += ["vp={}",self.params.transition] cmd += [ self.filepath, self.filepath ] - try: - call(cmd) - self.commands.append(" ".join(cmd)) - except Exception as e: - sys.stderr.write(str(e)) - raise + self._call_cmd(cmd) + def _trim_cmd (self): - if self.params.trim: - cmd = [BIN_CONVERT, self.filepath, "-trim", "+repage", self.filepath] - try: - call(cmd) - self.commands.append(" ".join(cmd)) - except Exception as e: - sys.stderr.write(str(e)) - raise + cmd = [BIN_CONVERT, self.filepath, "-trim", "+repage", self.filepath] + self._call_cmd(cmd) def _prepare_gridimage(self, image): if image['mimetype'] != 'png': cmd = [BIN_CONVERT, image['path'], self.filepath] - try: - call(cmd) - self.commands.append(" ".join(cmd)) - except Exception as e: - sys.stderr.write(str(e)) - raise else: cmd = ['cp', image['path'], self.filepath] - try: - call(cmd) - self.commands.append(" ".join(cmd)) - except Exception as e: - sys.stderr.write(str(e)) - raise + self._call_cmd(cmd) + def _overlay_planebgimage(self): cmd = [ @@ -306,23 +283,13 @@ class Imgrid(): self.filepath, self.filepath ] - try: - call(cmd) - self.commands.append(" ".join(cmd)) - except Exception as e: - sys.stderr.write(str(e)) - raise + self._call_cmd(cmd) def _cleanup(self): if not len(self.files_created): pass cmd = ["rm", "-f"] + self.files_created - try: - call(cmd) - self.commands.append(" ".join(cmd)) - except Exception as e: - sys.stderr.write(str(e)) - raise + self._call_cmd(cmd) def create(self): if self.params.bgimage: -- cgit v1.2.3-70-g09d2