summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xPb/Break/__init__.py44
-rw-r--r--Pb/__init__.py4
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