summaryrefslogtreecommitdiff
path: root/lib/Pb/Landscape
diff options
context:
space:
mode:
authoryo mama <pepper@scannerjammer.com>2015-09-23 23:27:27 -0700
committeryo mama <pepper@scannerjammer.com>2015-09-23 23:27:27 -0700
commit5c982ed500b51f5b8d911e5a5adec10ac2d31d2e (patch)
treeefca7a0f0209d25972df00173e4c92a814956a7a /lib/Pb/Landscape
parent2755b029d873f93d91086b3d69a4c57d05c40fb5 (diff)
ok good
Diffstat (limited to 'lib/Pb/Landscape')
-rwxr-xr-xlib/Pb/Landscape/landscape163
1 files changed, 0 insertions, 163 deletions
diff --git a/lib/Pb/Landscape/landscape b/lib/Pb/Landscape/landscape
deleted file mode 100755
index 10e8ede..0000000
--- a/lib/Pb/Landscape/landscape
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/usr/bin/python2.7
-import cgi
-import sys
-import os
-import re
-import time
-import string
-import urllib
-from subprocess import Popen, PIPE
-import sha
-import simplejson as json
-
-import mimetypes
-import s3
-
-import db
-DB = db.db ()
-
-import base64
-import urlparse
-
-
-AWS_ACCESS_KEY_ID = 'AKIAIR53VPBXKJMXZIBA'
-AWS_SECRET_ACCESS_KEY = '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'
-BUCKET_NAME = 'i.asdf.us'
-BASE_PATH = "/var/www/asdf.us/httpdocs/imlandscape"
-BASE_URL = "http://i.asdf.us/"
-PARAM_LIST = "heightmap texture name imgdata filename"
-BIN_IDENTIFY = "/usr/bin/identify"
-
-print "Content-type: text/plain"
-print ""
-def insert_cmd (dir, newfile, name, texture, dataobj):
- if texture == "":
- texture = "NULL"
- try:
- sql = "INSERT INTO im_cmd (date,remote_addr,name,url,dir,oldfile,newfile,cmd, dataobj, tag) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s, %s)"
-
- args = (now(), "NULL", name, texture, dir, "NULL", newfile, "NULL", dataobj, "imlandscape")
- DB.execute(sql, args)
- except ():
- return
-
-def hash_dir (s):
- return sha.new(s).hexdigest()[:2]
-
-def bin_identify (filename):
- ident = Popen([BIN_IDENTIFY, filename], stdout=PIPE).communicate()[0]
- partz = ident.split(" ")
- width,height = partz[2].split("x")
- return width, height
-
-def get_params (paramlist):
- paramkeys = paramlist.split()
- form = cgi.FieldStorage()
- params = {}
- for key in paramkeys:
- if key in form:
- if key == 'heightmap':
- params[key] = form[key].value
- elif key == 'imgdata':
- params[key] = form[key].value
- elif key == 'texture':
- params[key] = form[key].value
- else:
- params[key] = sanitize(form[key].value)
- else:
- params[key] = None
- return params
-
-def error (e):
- print "#@imlandscape"
- print "ERROR\t"+e
- sys.exit()
-
-def now ():
- return int(time.mktime(time.localtime()))
-
-def sanitize (str):
- return re.sub(r'\W+', '', str)
-
-def filename_from_url (url, name=""):
- if "?" in url:
- url = url.split("?")[0]
- if "/" in url:
- url = urllib.unquote(url).replace(" ","")
- filename = url.split("/")[-1]
- filetype = "png"
- filename = sanitize(filename[:-4])
- else:
- filename = ""
- if name != "":
- name = name+"_"
- return "{}_{}{}_{}.{}".format("imlandscape", name, filename,now(), "png")
-
-def saveImgData(url, filename):
- try:
- up = urlparse.urlparse(url)
- head, data = up.path.split(',', 1)
- bits = head.split(';')
- mime_type = bits[0] if bits[0] else 'text/plain'
- charset, b64 = 'ASCII', False
- for bit in bits[1]:
- if bit.startswith('charset='):
- charset = bit[8:]
- elif bit == 'base64':
- b64 = True
-
- # Do something smart with charset and b64 instead of assuming
- plaindata = base64.b64decode(data)
-
- with open(filename, 'wb') as f:
- f.write(plaindata)
- except Exception as e:
- error(str(e));
-
-def file_size (file):
- return os.stat(file)[6]
-
-def moveToS3(filename,objectname):
- conn = s3.AWSAuthConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
- sys.stderr.write( "Uploading %s" % filename)
- filedata = open(filename, 'rb').read()
- content_type = mimetypes.guess_type(filename)[0]
- if not content_type:
- content_type = 'text/plain'
- conn.put(BUCKET_NAME, objectname, s3.S3Object(filedata),
- {'x-amz-acl': 'public-read', 'Content-Type': content_type, 'x-amz-storage-class': 'REDUCED_REDUNDANCY'})
-
-param = get_params(PARAM_LIST)
-if param['imgdata'] is None:
- error("no imgdata")
-url = param['imgdata']
-if param['texture'] is None:
- param['texture'] = "";
-if param['heightmap'] is None:
- param['heightmap'] = "";
-if param['name'] is None:
- param['name'] = "";
-
-dataobj = json.dumps({
- 'texture' : param['texture'],
- 'heightmap' : param['heightmap'],
- 'name' : param['name']
-})
-
-dir = hash_dir(param['imgdata']);
-
-filename = filename_from_url(param['texture'], param['name']);
-
-tag = "imlandscape"
-objectname = "im/"+dir+"/"+filename
-
-saveImgData(param['imgdata'], filename);
-
-print "#@imlandscape"
-#print ", ".join([k+"="+str(v) for k,v in param.iteritems()])
-print file_size (filename)
-print bin_identify (filename)
-print BASE_URL+objectname
-insert_cmd(dir, filename, param['name'], param['texture'], dataobj);
-moveToS3(filename, objectname);
-os.remove(filename);