Merge pull request #14 from blacktrash/blacktrash-fixes

q&d fixes
This commit is contained in:
Flávio Ribeiro
2018-04-18 12:47:05 -04:00
committed by GitHub

View File

@@ -25,7 +25,7 @@ from click import progressbar
import glob, os, random, shutil, math, tempfile import glob, os, random, shutil, math, tempfile
TMP_FRAMES_PATH = tempfile.mkstemp()[1] TMP_FRAMES_PATH = tempfile.mkdtemp()
def generate_video_thumbnail(args): def generate_video_thumbnail(args):
videoFileClip = VideoFileClip(args['<video>']) videoFileClip = VideoFileClip(args['<video>'])
@@ -63,9 +63,14 @@ def generate_sprite_from_frames(framesPath, columns, size, output):
masterWidth = size[0] * columns masterWidth = size[0] * columns
masterHeight = size[1] * int(math.ceil(float(len(framesMap)) / columns)) masterHeight = size[1] * int(math.ceil(float(len(framesMap)) / columns))
line, column = 0, 0 line, column, mode = 0, 0, 'RGBA'
finalImage = Image.new(mode='RGBA', size=(masterWidth, masterHeight), color=(0,0,0,0)) try:
finalImage = Image.new(mode=mode, size=(masterWidth, masterHeight), color=(0,0,0,0))
finalImage.save(output)
except IOError:
mode = 'RGB'
finalImage = Image.new(mode=mode, size=(masterWidth, masterHeight))
for filename in framesMap: for filename in framesMap:
with Image.open(filename) as image: with Image.open(filename) as image:
@@ -81,14 +86,14 @@ def generate_sprite_from_frames(framesPath, columns, size, output):
line += 1 line += 1
column = 0 column = 0
finalImage.save(output, transparency=0) finalImage.save(output)
shutil.rmtree(TMP_FRAMES_PATH, ignore_errors=True) shutil.rmtree(TMP_FRAMES_PATH, ignore_errors=True)
print "Saved!" print "Saved!"
def get_output_prefix(): def get_output_prefix():
if not os.path.exists(TMP_FRAMES_PATH): if not os.path.exists(TMP_FRAMES_PATH):
os.makedirs(TMP_FRAMES_PATH) os.makedirs(TMP_FRAMES_PATH)
return TMP_FRAMES_PATH + ("%032x_" % random.getrandbits(128)) return TMP_FRAMES_PATH + os.sep + ("%032x_" % random.getrandbits(128))
if __name__ == "__main__": if __name__ == "__main__":
arguments = docopt(__doc__, version='0.0.2') arguments = docopt(__doc__, version='0.0.2')