diff options
Diffstat (limited to 'gradient.py')
| -rwxr-xr-x | gradient.py | 62 |
1 files changed, 24 insertions, 38 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
|
