From 64f41d53728a966f10aef6d7ffbc00853d754300 Mon Sep 17 00:00:00 2001 From: yo mama Date: Fri, 13 Feb 2015 02:41:42 -0800 Subject: fixed some basics --- impattern/im/cgi-bin/imdither.cgi | 145 -------------------------------------- 1 file changed, 145 deletions(-) delete mode 100755 impattern/im/cgi-bin/imdither.cgi (limited to 'impattern/im/cgi-bin/imdither.cgi') diff --git a/impattern/im/cgi-bin/imdither.cgi b/impattern/im/cgi-bin/imdither.cgi deleted file mode 100755 index 29837ed..0000000 --- a/impattern/im/cgi-bin/imdither.cgi +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/python - -import downloader -import time -import re -import cgi -from subprocess import Popen, PIPE, call -from os import stat, path, makedirs -import sys -import sha -BASE_DIR = "" -OTHER_BASE = "" -#BASE_DIR = "/var/www/asdf.us/httpdocs/im/" -#OTHER_BASE = "http://asdf.us/im/" - -print "Content-Type: text/html" -print "" -print "" - -NAMETAG = "imDither" - -MAIN_DIRECTORY = "" -#BIN_CONVERT = "/usr/bin/convert" -#BIN_IDENTIFY = "/usr/bin/identify" -#BIN_COMPOSITE = "/usr/bin/composite" -BIN_CONVERT = "convert" -BIN_IDENTIFY = "identify" -BIN_COMPOSITE = "composite" - -NOW = str(int(time.time())) -MAX_LENGTH_BEFORE_ABRIDGED = 30 -ABBREVIATION = "xx_abridged__" - -################################### -### DEFAULT VALUES HERE -params = { - "url" : "http://asdf.us/im/10/friedeggstresstoy_1321140711_1322282769_pepper.gif", - "ditherType" : "1.png", - "username" : "pepper", - "formatType" : "png", -} -################################### - -form = cgi.FieldStorage() -if form: - for key, value in form.iteritems(): - formValues[key] = params[key] #CHECKME - -class Utils: - def file_size (self, imgFile): - return stat(imgFile)[6] - - def imageDimensions(self, thefile): - ident = Popen([BIN_IDENTIFY, thefile], stdout=PIPE).communicate()[0] - parts = ident.split(" ") - return parts[2].split("x") - - def hash_dir(self, s): - """get a random number-letter pair""" - return sha.new(s).hexdigest()[:2] - - def hexdir(self): - """create a random path name""" - directoryName = utils.hash_dir(NOW) - - dirs = [ - BASE_DIR+directoryName+'/', - OTHER_BASE+directoryName+'/', - ] - ################################### - if not path.exists(directoryName): - makedirs(directoryName) - - - return dirs - - def makeOriginalName(self, params, canvas_type="", nametag_part=""): - if not nametag_part: - nametag_part = NAMETAG - if not canvas_type: - canvastype = params["formatType"] - filename = '%s_%s_%s.%s' % (nametag_part, NOW, params["username"], canvas_type) - return filename - - def sanitize (self,string): - """strip out all non-word characters""" - return re.sub(r'\W+', '', string) - - def makeNameFromFilename(self, params): - parts = params["url"].split("?")[0].split('/') - filename = parts[-1] - name, extension = filename.split('.') - if len(extension) >= 5: - sys.stdout.write('the file is not an image or any standard format') - sys.exit() - if len(name)> MAX_LENGTH_BEFORE_ABRIDGED: - name = ABBREVIATION - sanitized = self.sanitize(name) - thefilename = "%s_%s_%s_%s.%s" % (NAMETAG, NOW, sanitized, params["username"], extension) - return thefilename - -utils = Utils(); - - -class Dither: - def makeCanvas(self, thefile): - call([BIN_CONVERT,"-size", self.dimensions[0]+"x"+self.dimensions[1],"canvas:transparent", thefile]) - def makeMask(self, themask, thedither, thebackground): - """ composite -tile DITHERNAME BACKGROUNDNAME MASKNAME """ - call([BIN_COMPOSITE,"-tile",thedither,thebackground,themask]) - #convert thebg.gif -compose Dst_In null: thefile.gif -matte -layers composite new.gif - call([BIN_CONVERT,themask,"-compose","Dst_In","null:",self.privatepath+self.mainfile,"-matte","-layers","composite",themask]) - # os.system("rm "+thebackground) - def fuseMask(self, themask, theimage): - call([BIN_COMPOSITE,theimage,"-compose","Pin_Light",themask,theimage]) - # os.system("rm "+themask) - def __init__(self, url, thedither, username): - self.mainfile = utils.makeNameFromFilename(params) - filepaths = utils.hexdir() - self.privatepath = filepaths[0] - self.publicpath = filepaths[1] - downloader.download(url, self.mainfile, self.privatepath) - - parts = self.mainfile.split('.') - print parts - if "gif" in parts[-1]: - canvastype = "gif" - else: - canvastype = "png" - - self.canvasfile = "/tmp/"+utils.makeOriginalName(params, canvastype, "canvasfile") - self.dimensions = utils.imageDimensions(self.privatepath+self.mainfile) - self.makeCanvas(self.canvasfile) - self.theMask = "/tmp/"+utils.makeOriginalName(params, canvastype, "maskfile") - #good up to here - self.makeMask(self.theMask, thedither, self.canvasfile) - self.fuseMask(self.theMask, self.privatepath+self.mainfile) - #self.mainfile = self.mainfile.replace(, do something with s3) - print self.privatepath+self.mainfile - print utils.file_size(self.privatepath+self.mainfile) - print 'width: '+self.dimensions[0]+'px' - print 'height: '+self.dimensions[1]+'px' - -if __name__ == "__main__": - newImage = Dither(params["url"], params["ditherType"], params["username"]) -- cgit v1.2.3-70-g09d2