summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rwxr-xr-xgradient.py7
-rwxr-xr-ximgrid.py9
-rwxr-xr-xpbserver.py2
4 files changed, 17 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index f739444..8957ace 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,5 @@
./s3config.py
./db.py
+*.swp
+*.swo
+*.pyc
diff --git a/gradient.py b/gradient.py
index 6d2e15f..4d01f9b 100755
--- a/gradient.py
+++ b/gradient.py
@@ -18,6 +18,11 @@ import sha
#logger.setLevel(logging.WARNING)
#}}}
+def is_color(s):
+ if re.match('(rgba?\([0-9]+,[0-9]+,[0-9]+\))|([a-zA-Z]+)|(\#[A-Ha-h0-9]+)', s):
+ return s
+ else:
+ raise ValueError
PARAM_LIST = [
"width", "height",
"color1", "color2",
@@ -98,7 +103,7 @@ class Gradient:
for key in PARAM_LIST:
if key in form:
if key in ['color1', 'color2']:
- params[key] = form[key]
+ params[key] = is_color(form[key])
else:
params[key] = sanitize(form[key])
diff --git a/imgrid.py b/imgrid.py
index 86597bb..2dfe5bb 100755
--- a/imgrid.py
+++ b/imgrid.py
@@ -31,6 +31,11 @@ DEFAULT_LINE_COLOR = "silver"
DEFAULT_FINALFORMAT = "png"
#{{{Utility functions
+def is_color(s):
+ if re.match('(rgba?\([0-9]+,[0-9]+,[0-9]+\))|([a-zA-Z]+)|(\#[A-Ha-h0-9]+)', s):
+ return s
+ else:
+ raise ValueError
def bool_correct(s):
if re.match(r'^false$', s, re.IGNORECASE):
return False
@@ -169,8 +174,8 @@ class Imgrid():
except Exception as e:
sys.stderr.write(str(e))
raise;
- elif k in [ 'bgcolor', 'planebgcolor' ]:
- self.params[k] = params[k]
+ elif k in [ 'bgcolor', 'planebgcolor','linecolor' ]:
+ self.params[k] = is_color(params[k])
elif k == 'opacity':
self.params[k] = str(float(params[k]))
elif k == 'zoom':
diff --git a/pbserver.py b/pbserver.py
index 9f2a209..5501f54 100755
--- a/pbserver.py
+++ b/pbserver.py
@@ -154,7 +154,7 @@ def pattern():
try:
im = Pattern(request.forms)
im.create();
- return return_image(im, im.params['url'])
+ return return_image(im, im.params['image_url'])
except Exception as e:
sys.stderr.write(str(e))
sys.stderr.write("imgradient failure\n")