From 734114b9a6bed13883b9f33e3a5acafc52af07a9 Mon Sep 17 00:00:00 2001 From: Pepper Date: Sat, 28 Feb 2015 03:46:21 -0500 Subject: fixed gradient problem...added better error logging for apps in testing --- gradient.py | 89 +++++++++++++++++++++++++++++-------------------------------- 1 file changed, 43 insertions(+), 46 deletions(-) (limited to 'gradient.py') diff --git a/gradient.py b/gradient.py index 1fa8e9f..6d2e15f 100755 --- a/gradient.py +++ b/gradient.py @@ -47,16 +47,7 @@ WORKING_DIR = '/var/www/cache' DEFAULT_WIDTH = "200" DEFAULT_HEIGHT = "200" -BEVELVALUES = { - "flatout": ["-s","-m","outer"], - "flatinner": ["-s","-m","inner"], - "evenlyframed": ["-s ", "-m ", "split"], - "biginner": ["-s","-m","outer","-c","50","-b","red","-a","25"], - "bigouter": ["-s","-m","split","-c","50","-b","red","-a","25"], - "dramaticflatout": ["-s","-m","outer","-a","25","-b","blue"], - "dramaticflatinner": ["-s","-m","outer","-a","25","-b","blue"], - } -BEVEL_DEFAULT = "12"; +DEFAULT_BEVEL_PERCENT = "12"; HALFTONEVALUES = { "checkeredfade": "h6x6a", @@ -67,6 +58,24 @@ HALFTONEVALUES = { "flatstripes": "o2x2", } +TEST_FORM = { + "width" : "200", + "color1" : "#ffdead", + "color2" : "blue", + "stripes" : "true", + "stripenumber" : "20", + "gradienttype" : "radial", + "stripeintensity" : "20", + "halftone" : "checkeredfade", + "percentbeveled" : "30", + "flip" : "true", + "bevel" : "flatinner", + "rotate" : "20", + "height" : "200", + "filetype" : "jpg", + "username" : "whatever" +} + def sanitize (s): return re.sub(re.compile(r'\W+'), '', s) @@ -90,10 +99,8 @@ class Gradient: if key in form: if key in ['color1', 'color2']: params[key] = form[key] - #params[key] = form[key].value else: params[key] = sanitize(form[key]) - #params[key] = sanitize(form[key].value) if key in ['rotate','tilt','blurriness','stripenumber','stripeintensity']: params[key] = params[key] if is_number(params[key]) else "" @@ -106,7 +113,11 @@ class Gradient: params["color1"] = params["color1"] or DEFAULT_COLORS["color1"]; params["color2"] = params["color2"] or DEFAULT_COLORS["color2"]; self.params = params - + if not self.params['percentbeveled']: self.params['percentbeveled'] = DEFAULT_BEVEL_PERCENT + self._bevelvalues = [ + "flatout", "flatinner", "evenlyframed", "biginner", + "bigouter", "dramaticflatout", "dramaticflatinner", + ] def newfilename(self): return "{}{}-{}_{}_{}.{}".format( self.tag, @@ -133,6 +144,7 @@ class Gradient: '-size', "{}x{}".format(self.params["width"],self.params["height"]) ]) + if self.params['rotate']: cmd.extend(["-rotate", self.params["rotate"]]) if self.params['tilt']: cmd.extend(["-distort","SRT",self.params['tilt']]) if self.params['flip'] == "true": cmd.append("-flip") @@ -192,23 +204,25 @@ class Gradient: cmd.append(os.path.join(self.directory,self.filename)); self._call_cmd(cmd) - 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']: - w, h = map(int, (self.params['width'], self.params['height'])) - if h >= w: - bevpercentval = str(int(self.params['percentbeveled'])*0.005*int(h)) - else: - bevpercentval = str(int(self.params['percentbeveled'])*0.005*int(w)) + def _get_bevelvalue(self): + w, h = map(int, (self.params['width'], self.params['height'])) + if h >= w: + bevpercentval = str(int(self.params['percentbeveled'])*0.005*int(h)) else: - bevpercentval = BEVEL_DEFAULT - - bevel = get_bevelvalue(self.params['bevel'], bevpercentval) + bevpercentval = str(int(self.params['percentbeveled'])*0.005*int(w)) + return { + "flatout": ["-s",bevpercentval,"-m","outer"], + "flatinner": ["-s",bevpercentval,"-m","inner"], + "evenlyframed": ["-s ",bevpercentval,"-m", "split"], + "biginner": ["-s",bevpercentval,"-m","outer","-c","50","-b","red","-a","25"], + "bigouter": ["-s",bevpercentval,"-m","split","-c","50","-b","red","-a","25"], + "dramaticflatout": ["-s",bevpercentval,"-m","outer","-a","25","-b","blue"], + "dramaticflatinner": ["-s",bevpercentval,"-m","outer","-a","25","-b","blue"], + }[self.params['bevel']] + + def _make_bevel(self): cmd = [BEVELBORDER] - cmd += bevel + cmd += self._get_bevelvalue() cmd += [ os.path.join(self.directory,self.filename), os.path.join(self.directory, self.filename) ] self._call_cmd(cmd) @@ -216,26 +230,9 @@ class Gradient: self.filename = self.newfilename() self.filepath = os.path.join(self.directory, self.filename) self._build_cmd() - if self.params['bevel'] in BEVELVALUES: + if self.params['bevel'] in self._bevelvalues: self._make_bevel() -TEST_FORM = { - "width" : "200", - "color1" : "#ffdead", - "color2" : "blue", - "stripes" : "true", - "stripenumber" : "20", - "gradienttype" : "radial", - "stripeintensity" : "20", - "halftone" : "checkeredfade", - "percentbeveled" : "30", - "flip" : "true", - "bevel" : "flatout", - "rotate" : "20", - "height" : "200", - "filetype" : "jpg", - "username" : "whatever" -} if __name__ == "__main__": g = Gradient(TEST_FORM); g.create(); -- cgit v1.2.3-70-g09d2