summaryrefslogtreecommitdiff
path: root/share/frontend/impattern/makePattern.py
diff options
context:
space:
mode:
authorpepperpepperpepper <pepper@scannerjammer.com>2015-11-18 10:08:55 -0800
committerpepperpepperpepper <pepper@scannerjammer.com>2015-11-18 10:08:55 -0800
commit67033f5c20c9c1c6653cdb3e66a74539d634ec64 (patch)
treee3981e3d035d63995a78b0d2d455302f6875fb88 /share/frontend/impattern/makePattern.py
parent348494657b7366263de6baf09ddfc6a528fac594 (diff)
cleanup continued
Diffstat (limited to 'share/frontend/impattern/makePattern.py')
-rwxr-xr-xshare/frontend/impattern/makePattern.py111
1 files changed, 0 insertions, 111 deletions
diff --git a/share/frontend/impattern/makePattern.py b/share/frontend/impattern/makePattern.py
deleted file mode 100755
index 98d298b..0000000
--- a/share/frontend/impattern/makePattern.py
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/usr/bin/python2.7
-
-import sys
-import cgi
-from os import getpid, path
-from subprocess import call, Popen, PIPE
-import time
-
-MAIN_DIRECTORY = ""
-BIN_CONVERT = "convert"
-BIN_IDENTIFY = "identify"
-BIN_COMPOSITE = "composite"
-ACCEPTABLE_FILE_TYPES = [".png", ".jpg", ".gif", ".jpeg"]
-
-def usage():
- sys.stderr.write("$>makePattern.py [ input_file ] [ pattern_file ] [ username ]");
-
-def now():
- return str(int(time.time()))
-
-def image_dimensions_and_test(filename):
- ident = Popen([BIN_IDENTIFY, filename], stdout=PIPE).communicate()[0]
- partz = ident.split(" ")
- filetype = "."+partz[1]
- size = partz[6]
- if filetype.lower() not in ACCEPTABLE_FILE_TYPES:
- error("file was not an image")
- return partz[2].split("x")
-
-def error(s):
- " returns an error and exits the program "
- print("ERROR: "+s)
- exit(1)
-
-def hexdir(filename):
- " creates a two-letter directory name "
- return sha1(filename.encode()).hexdigest()[:2]
-#repage command convert original.png -resize 425x92 -repage 425x92+0+0 new.png
-
-class Pattern:
-
- def __init__(self):
- self.nametag = "imPattern";
- self.pid = str(getpid())
- self.pattern_file = "";
- self.original_file = "";
- self.username = "";
- self.commands = [];
-
- def makeResultFilename(self):
- file_base, extension = path.splitext(self.original_file)
- if len(file_base) > self.MAX_NAME_LENGTH:
- file_base = file_base[0:self.MAX_NAME_LENGTH]
- return "%s_%s_%s%s%s" % (file_base, self.username, self.nametag, now(), extension)
-
- #first step
- def makeCanvas(self):
- call([BIN_CONVERT,"-size",self.dimensions[0]+"x"+self.dimensions[1],"canvas:transparent", self.canvas_file])
-
- #second step use the Canvas as a background
- def makeMask(self):
- #tile the pattern pattern on the canvas
- command = [BIN_COMPOSITE,"-tile", self.pattern_file, self.canvas_file, self.mask_file];
- call(command)
- self.commands.append(command)
- #fuse the tiled file to create a mask
- #convert thebg.gif -compose Dst_In null: thefile.gif -matte -layers composite new.gif
- command = [BIN_CONVERT, self.mask_file, "-compose", "Dst_In", "null:", self.original_file, "-matte", "-layers", "composite", self.mask_file]
- call(command)
-
- #cleanup
- call(["rm", self.canvas_file])
-
- #third step
- def fuseMask(self, fuse_mode="Pin_Light"):
- call([BIN_CONVERT, self.mask_file, "null:", self.original_file, "-matte", "-compose", fuse_mode, "-layers", "composite", self.result_file])
- call(["rm", self.mask_file])
-
- def main(self, input_file_path, pattern_file, username=""):
- self.pattern_file = pattern_file;
- self.original_file = input_file_path;
- self.username = username;
- self.MAX_NAME_LENGTH = 10;
-
- self.image_format = self.original_file.split(".")[-1]
- self.dimensions = ""
- try:
- self.dimensions = image_dimensions_and_test(self.original_file);
- except Exception as e:
- sys.stderr.write(str(e));
- error("Unable to determine dimensions")
- self.canvas_file = self.pid+"blank_canvas.png";
- self.makeCanvas();
- self.mask_file = self.pid+"mask_file"+"."+self.image_format;
- self.makeMask();
- self.result_file = self.makeResultFilename();
- self.fuseMask();
-
-if __name__ == "__main__":
- p = Pattern();
- if len(sys.argv) < 2 or len(sys.argv) > 3:
- usage();
- sys.exit(0);
- input_file_path = sys.argv[1]
- pattern_file = sys.argv[2]
- username = "";
-# username = sys.argv[3]
- print input_file_path;
- print pattern_file;
- print username;
- p.main(input_file_path, pattern_file, username);