summaryrefslogtreecommitdiff
path: root/Pb/Grid/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'Pb/Grid/__init__.py')
-rwxr-xr-xPb/Grid/__init__.py55
1 files changed, 32 insertions, 23 deletions
diff --git a/Pb/Grid/__init__.py b/Pb/Grid/__init__.py
index d03ee10..4cc31ee 100755
--- a/Pb/Grid/__init__.py
+++ b/Pb/Grid/__init__.py
@@ -3,8 +3,8 @@ import re
import os
import simplejson as json
import random
-from Config import DEFAULT_FINALFORMAT, DEFAULT_HEIGHT, DEFAULT_WIDTH, WORKING_DIR
-from Config import THREEDROTATE, GRID
+from Config import DEFAULT_FINALFORMAT, DEFAULT_HEIGHT, DEFAULT_WIDTH, WORKING_DIR, OUTPUT_IMAGE_TYPES
+from Config import THREEDROTATE, GRID, BIN_CONVERT, BIN_COMPOSITE
import tempfile
from Pb import Pb
@@ -24,31 +24,31 @@ class PbGrid(Pb):
def __init__(self,
width=None,
height=None,
- linethickness=None,
- opacity=None,
- linecolor=None,
- spacing=None,
- vlines=None,
- hlines=None,
- shadow=None,
+ linethickness=1,
+ opacity=1.0,
+ linecolor="whitesmoke",
+ spacing=10,
+ vlines=False,
+ hlines=False,
+ shadow=False,
bgimage=None,
- bgcolor=None,
+ bgcolor="transparent",
imageinstead=None,
- planebgcolor=None,
+ planebgcolor="transparent",
planebgimage=None,
- swing=None,
- tilt=None,
- roll=None,
- zoom=None,
- skycolor=None,
- transition=None,
- trim=None,
+ swing=False,
+ tilt=False,
+ roll=False,
+ zoom=0,
+ skycolor="transparent",
+ transition="background",
+ trim=False,
finalformat=DEFAULT_FINALFORMAT,
- username=None
+ username=""
):
super(PbGrid,self).__init__();
- self.params.set_val("width", width, value_type="int")
- self.params.set_val("height", height, value_type="int")
+ self.params.set_val("width", width or 0, value_type="int")
+ self.params.set_val("height", height or 0, value_type="int")
self.params.set_val("linethickness", linethickness, value_type="int")
self.params.set_val("opacity", opacity, value_type="float")
self.params.set_val("linecolor", linecolor, value_type="color")
@@ -67,10 +67,17 @@ class PbGrid(Pb):
self.params.set_val("roll", roll, value_type="int")
self.params.set_val("zoom", zoom, value_type="int")
self.params.set_val("skycolor", skycolor, value_type="color")
- self.params.set_val("transition", transition, value_type="enum", enum_values=[]) #FIXME
+ self.params.set_val("transition", transition, value_type="enum", enum_values=["background", "dither", "edge", "mirror", "random", "tile"]) #FIXME
self.params.set_val("trim", trim, value_type="bool")
- self.params.set_val("finalformat", finalformat, value_type="enum", enum_values=_file...)# FIXME
+ self.params.set_val("finalformat", finalformat, value_type="enum", enum_values=OUTPUT_IMAGE_TYPES)# FIXME
self.params.set_val("username", username, value_type="string");
+ if self.params.imageinstead:
+ self.filename, self.filepath = self._filename_filepath_create(url=self.params.imageinstead['url'], extension=self.params.finalformat)
+ elif self.params.planebgimage:
+ self.filename, self.filepath = self._filename_filepath_create(url=self.params.planebgimage['url'], extension=self.params.finalformat)
+ else:
+ self.filename, self.filepath = self._filename_filepath_create(extension=self.params.finalformat)
+
#FIXME choose gif frame
#makes a canvas file...step 1 (if not bgimage)
@@ -140,6 +147,8 @@ class PbGrid(Pb):
self._call_cmd(cmd)
def _prepare_gridimage(self, image):
+ if image['mimetype'] == 'gif':
+ _frame = self._choose_gif_frame(image['path'])
if image['mimetype'] != 'png':
cmd = [BIN_CONVERT, image['path'], self.filepath]
else: