diff options
| -rwxr-xr-x | Pb/Break/__init__.py | 44 | ||||
| -rw-r--r-- | Pb/__init__.py | 4 |
2 files changed, 23 insertions, 25 deletions
diff --git a/Pb/Break/__init__.py b/Pb/Break/__init__.py index ed02f60..5e429e9 100755 --- a/Pb/Break/__init__.py +++ b/Pb/Break/__init__.py @@ -15,13 +15,14 @@ _subtle_break_mark = 'pron' _extreme_break_mark = 'sugar' _header_offset = 2000 +_default_breakmode = "subtle" class PbBreak(Pb): #FIXME in db gallery def __init__(self, url=None, breaktype=None, - finalformat=DEFAULT_FINALFORMAT, - breakmode=None, + finalformat=None, + breakmode=_default_breakmode, breakangle=None, username=None, expanded=None, @@ -30,24 +31,24 @@ class PbBreak(Pb): #FIXME in db gallery super(PbBreak,self).__init__(); self.params.set_val("breaktype", self._get_breaktype(breaktype), value_type="string"); - self.params.set_val("finalformat", finalformat, value_type="string") self.params.set_val("breakmode", breakmode, value_type="enum", enum_values=["subtle", "extreme", "gradual"]) self.params.set_val("breakangle", breakangle, value_type="float") self.params.set_val("expanded", expanded, value_type="bool") self.params.set_val("url", url, value_type="img_url"); self._files_created.append(self.params.url['path']) -# if not self.params.finalformat and self._gif_frames: -# self.params.finalformat = 'gif' -# if self.params.breaktypte == 'miff': -# self.params.finalformat = 'jpg' -# self.params.breakmode = 'subtle' - #final filepath is stored in self.filepath + #psd returns an animation + if not finalformat and self.params.url['mimetype'] == "gif": + self.params.set_val("finalformat", "gif", value_type="string") + elif self.params.breaktype == 'miff': + self.params.set_val("finalformat", "jpg", value_type="string") + self.params.breakmode = "subtle" + else: + self.params.set_val("finalformat", finalformat or DEFAULT_FINALFORMAT, value_type="string") self._width_and_height_set(filepath=self.params.url['path']) - self.filename, self.filepath = self._filename_filepath_create(url=self.params.url['url']) - self._conversion_file = self._tempfilepath_create(namepart="conversion") - #maybe touch here, since files aren't actually created yet + self.filename, self.filepath = self._filename_filepath_create(url=self.params.url['url'], extension=self.params.finalformat) + self._conversion_file = self._tempfilepath_create(namepart="conversion", extension=self.params.breaktype) def _get_breaktype(self, key): #{{{ conversion table @@ -123,7 +124,7 @@ class PbBreak(Pb): #FIXME in db gallery self._files_created.append(self._conversion_file) def _prepare_filedata(self): - if self.params.url['mimetype'] == "gif": + if self.params.url['mimetype'] == "gif": #FIXME and not miami self._choose_frame(self.params.url['path']) if self.params.breakangle: self._rotate() @@ -133,10 +134,10 @@ class PbBreak(Pb): #FIXME in db gallery if not self._file_data: self.err_warn("Unable to get file data"); - def _add_false_data(self, breakmode): - if breakmode == "subtle": + def _add_false_data(self): + if self.params.breakmode == "subtle": self._subtle_break() - elif breakmode == "extreme": + elif self.params.breakmode == "extreme": self._extreme_break() f = open(self._conversion_file, 'w') f.write(self._file_data) @@ -145,7 +146,7 @@ class PbBreak(Pb): #FIXME in db gallery def _final_conversion(self): self._call_cmd( [BIN_CONVERT, self._conversion_file, self.filepath]) def psd_psbfilepath(num): - return os.path.join(self._working_dir, "{}-{}-{}.{}".format(self.__class__.__name__, self._now, num, self.params.finalformat)) + return os.path.join(re.sub(r'\.', "-%s." % num, self.filepath)) if self.params.breaktype == 'psd': self._call_cmd(['mv', psd_psbfilepath(1), self.filepath]) self._files_created.append(psd_psbfilepath(0)) @@ -155,17 +156,16 @@ class PbBreak(Pb): #FIXME in db gallery if self.params.breakangle: self._rotate_back() - def create(self, breakmode=""): - if not breakmode: breakmode = self.params.breakmode + def create(self): self._prepare_filedata(); - self._add_false_data(breakmode); + self._add_false_data(); self._final_conversion() self._cleanup() @classmethod def test(cls): TEST_PARAMS = { - "url" : "http://i.asdf.us/im/27/1424816234661dumpfmpfifferkinggr_1424816412_pfifferking.gif" , + "url" : "http://i.asdf.us/im/de/HolyMountain2_1322275112_seamonkey.gif", "breaktype" : "RGB_WASH", "finalformat" : "png", "breakmode" : "extreme", @@ -175,5 +175,3 @@ class PbBreak(Pb): #FIXME in db gallery } b = cls(**TEST_PARAMS) b.create(); - print b.filepath - print b.params.finalformat diff --git a/Pb/__init__.py b/Pb/__init__.py index edb7e1f..6485e86 100644 --- a/Pb/__init__.py +++ b/Pb/__init__.py @@ -38,8 +38,8 @@ class Pb(object): def _filepath_create(self, filename, directory=WORKING_DIR): return os.path.join(directory, filename) - def _filename_filepath_create(self, url=None, namepart="", directory=WORKING_DIR): - _filename = self._filename_create(url=url, namepart=namepart); + def _filename_filepath_create(self, url=None, namepart="", directory=WORKING_DIR, extension=""): + _filename = self._filename_create(url=url, namepart=namepart, extension=extension); _filepath = self._filepath_create(_filename, directory=directory); return _filename, _filepath |
