diff options
Diffstat (limited to 'Pb/Grid/__init__.py')
| -rwxr-xr-x | Pb/Grid/__init__.py | 55 |
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: |
