diff options
| author | Pepper <pepper@scannerjammer.com> | 2015-02-28 03:46:21 -0500 |
|---|---|---|
| committer | Pepper <pepper@scannerjammer.com> | 2015-02-28 03:46:21 -0500 |
| commit | 734114b9a6bed13883b9f33e3a5acafc52af07a9 (patch) | |
| tree | 982740438a404a8419a632d15d9db84a51fabdf4 /gradient.py | |
| parent | 3fe6738fe4b425a18e1505b53d7dc4b8045d39e4 (diff) | |
fixed gradient problem...added better error logging for apps in testing
Diffstat (limited to 'gradient.py')
| -rwxr-xr-x | gradient.py | 89 |
1 files changed, 43 insertions, 46 deletions
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();
|
