summaryrefslogtreecommitdiff
path: root/lib/pb/gradient.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pb/gradient.py')
-rwxr-xr-xlib/pb/gradient.py186
1 files changed, 92 insertions, 94 deletions
diff --git a/lib/pb/gradient.py b/lib/pb/gradient.py
index 22fe561..02d57d3 100755
--- a/lib/pb/gradient.py
+++ b/lib/pb/gradient.py
@@ -1,18 +1,11 @@
#!/usr/bin/python2.7
-import re
-import time
-from subprocess import call
-import simplejson as json
-import sys
-import os
-import sha
from config import *
from pb import Pb
_default_color_1 = "white"
_default_color_2 = "black"
-_default_bevel_percent = "12";
+_default_bevel_percent = "12"
_halftone_values = {
"checkeredfade": "h6x6a",
@@ -25,67 +18,71 @@ _halftone_values = {
class PbGradient(Pb):
example_params = {
- "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"
+ "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 __init__(self, **kwargs):
- super(PbGradient,self).__init__(**kwargs);
+ super(PbGradient, self).__init__(**kwargs)
_definitions = {
- 'width': { 'type':'int', 'default': DEFAULT_WIDTH },
- 'height': { 'type':'int', 'default' : DEFAULT_HEIGHT },
- 'color1': { 'type':'color', 'default': _default_color_1 },
- 'color2': { 'type':'color', 'default': _default_color_2 },
- 'stripes': { 'type':'bool' },
- 'stripenumber': { 'type':'int', 'default': 0 },
- 'stripeintensity': { 'type':'int', 'default': 0 },
- 'blurriness': { 'type':'int', 'default': 0 },
- 'contrast': { 'type':'int', 'default': 100 },
- 'brightness': { 'type':'int', 'default': 100 },
- 'saturation': { 'type':'int', 'default': 100 },
- 'hue': { 'type':'int', 'default': 100 },
- 'halftone': { 'type':'enum', 'enum_values' : [
- 'checkeredfade', 'etchedtransition', 'bendaydots',
- 'smallerdots1', 'smallerdots2', 'flatstripes',
- ] },
- 'bevel': { 'type':'enum', 'enum_values' : [
- 'flatout', 'flatinner', 'evenlyframed', 'biginner',
- 'bigouter', 'dramaticflatout', 'dramaticflatinner',
- ] },
- 'percentbeveled': { 'type':'int', 'default': _default_bevel_percent },
- 'tilt': { 'type':'int' },
- 'rotate': { 'type':'int' },
- 'flip': { 'type':'bool' },
- 'flop': { 'type':'bool' },
- 'filetype': { 'type':'enum', 'enum_values' : OUTPUT_IMAGE_TYPES, 'default': DEFAULT_FINALFORMAT },
- 'gradienttype': { 'type':'enum', 'enum_values' : [
- 'default', 'canvas', 'radial', 'colorspace',
- 'mirrored', 'plasmawash', 'gradientwash', 'noise'
- ], 'default': 'default' },
- 'username': { 'type':'string' }
+ 'width': {'type':'int', 'default': DEFAULT_WIDTH},
+ 'height': {'type':'int', 'default' : DEFAULT_HEIGHT},
+ 'color1': {'type':'color', 'default': _default_color_1},
+ 'color2': {'type':'color', 'default': _default_color_2},
+ 'stripes': {'type':'bool'},
+ 'stripenumber': {'type':'int', 'default': 0},
+ 'stripeintensity': {'type':'int', 'default': 0},
+ 'blurriness': {'type':'int', 'default': 0},
+ 'contrast': {'type':'int', 'default': 100},
+ 'brightness': {'type':'int', 'default': 100},
+ 'saturation': {'type':'int', 'default': 100},
+ 'hue': {'type':'int', 'default': 100},
+ 'halftone': {'type':'enum', 'enum_values' : [
+ 'checkeredfade', 'etchedtransition', 'bendaydots',
+ 'smallerdots1', 'smallerdots2', 'flatstripes',
+ ]},
+ 'bevel': {'type':'enum', 'enum_values' : [
+ 'flatout', 'flatinner', 'evenlyframed', 'biginner',
+ 'bigouter', 'dramaticflatout', 'dramaticflatinner',
+ ]},
+ 'percentbeveled': {'type':'int', 'default': _default_bevel_percent},
+ 'tilt': {'type':'int'},
+ 'rotate': {'type':'int'},
+ 'flip': {'type':'bool'},
+ 'flop': {'type':'bool'},
+ 'filetype': {
+ 'type':'enum',
+ 'enum_values':OUTPUT_IMAGE_TYPES,
+ 'default': DEFAULT_FINALFORMAT
+ },
+ 'gradienttype': {'type':'enum', 'enum_values':[
+ 'gradient', 'canvas', 'radial', 'colorspace',
+ 'mirrored', 'plasmawash', 'gradientwash', 'noise'
+ ], 'default': 'gradient'},
+ 'username': {'type':'string'}
}
- self.params.definitions_import(_definitions, kwargs, classname=self.__class__.__name__);
+ self.params.definitions_import(_definitions, kwargs, classname=self.__class__.__name__)
self.filename, self.filepath = self._filename_filepath_create()
- def _filename_create(self, **kwargs):
+ def _filename_create(self):
_base = "{}{}-{}_{}".format(
- self.__class__.__name__,
- str(self.params.color1).replace('#','').replace('(','-').replace(')','-'),
- str(self.params.color2).replace('#','').replace('(','-').replace(')','-'),
- self._now,
+ self.__class__.__name__,
+ str(self.params.color1).replace('#', '').replace('(', '-').replace(')', '-'),
+ str(self.params.color2).replace('#', '').replace('(', '-').replace(')', '-'),
+ self._now,
)
if self.params.username: _base += "_%s" % self.params.username
return _base + ".%s" % self.params.filetype
@@ -95,20 +92,20 @@ class PbGradient(Pb):
cmd = [BIN_CONVERT]
cmd.extend([
'-size',
- "{}x{}".format(self.params.width,self.params.height)
+ "{}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.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")
if self.params.flop == "true": cmd.append("-flop")
if self.params.contrast: cmd.extend(["-contrast-stretch", self.params.contrast])
_gradients = {
- "default" : "gradient:{}-{}".format(self.params.color1, self.params.color2),
+ "gradient" : ["gradient:{}-{}".format(self.params.color1, self.params.color2)],
"canvas" : ["canvas:{}".format(self.params.color1)],
"radial" : [
- "radial-gradient:{}-{}".format( self.params.color1, self.params.color2)
- ],
+ "radial-gradient:{}-{}".format(self.params.color1, self.params.color2)
+ ],
"colorspace" : [
"-colorspace",
"Gray",
@@ -116,7 +113,7 @@ class PbGradient(Pb):
],
"mirrored" : [
"plasma:{}-{}".format(self.params.color1, self.params.color2),
- "\(","+clone","-flop","\)",
+ "\(", "+clone", "-flop", "\)",
"append"
],
"plasmawash" : [
@@ -125,34 +122,35 @@ class PbGradient(Pb):
],
"gradientwash" : [
"gradient:{}-{}".format(self.params.color1, self.params.color2),
- "-set","colorspace","HSB"
+ "-set", "colorspace", "HSB"
],
"noise" : ["xc:","+noise","Random","-virtual-pixel","tile"]
}
cmd += _gradients[str(self.params.gradienttype)]
-
- if self.params.blurriness:
- cmd.extend(["-blur","0x{}".format(self.params.blurriness),"-auto-level"])
-
+
+ if self.params.blurriness:
+ cmd.extend(["-blur", "0x{}".format(self.params.blurriness), "-auto-level"])
+
if self.params.stripes == "true" and len(self.params.stripenumber):
- cmd.extend(["-function","Sinusoid"])
- if self.params.stripeintensity:
- cmd.append("{},{}".format(self.params.stripenumber,self.params.stripeintensity))
+ cmd.extend(["-function", "Sinusoid"])
+ if self.params.stripeintensity:
+ cmd.append("{},{}".format(self.params.stripenumber, self.params.stripeintensity))
else:
cmd.append(self.params.stripenumber)
- if str(self.params.halftone) in _halftone_values:
+ if str(self.params.halftone) in _halftone_values:
cmd.extend([
- "-ordered-dither",
+ "-ordered-dither",
_halftone_values[str(self.params.halftone)]
])
- cmd += [
- '-modulate',
+ cmd += [
+ '-modulate',
"{},{},{}".format(
- self.params.brightness or "100",
- self.params.saturation or "100",
- self.params.hue or "100")
+ self.params.brightness or "100",
+ self.params.saturation or "100",
+ self.params.hue or "100"
+ )
]
- cmd.append(self.filepath);
+ cmd.append(self.filepath)
self._call_cmd(cmd)
if self.params.bevel: self._make_bevel()
@@ -163,19 +161,19 @@ class PbGradient(Pb):
else:
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"],
+ "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"],
}[str(self.params.bevel)]
def _make_bevel(self):
cmd = [BEVELBORDER]
- cmd += self._get_bevelvalue()
- cmd += [ self.filepath, self.filepath]
+ cmd += self._get_bevelvalue()
+ cmd += [self.filepath, self.filepath]
self._call_cmd(cmd)
def create(self):