summaryrefslogtreecommitdiff
path: root/im/cgi-bin/imweb/filenamer.py
diff options
context:
space:
mode:
authoryo mama <pepper@scannerjammer.com>2015-02-13 02:42:02 -0800
committeryo mama <pepper@scannerjammer.com>2015-02-13 02:42:02 -0800
commitfd640b170a64584fd9c295be53c91972ff9f9ec1 (patch)
treec67e95b332e183bbf14065bba55dd77e86a71fbe /im/cgi-bin/imweb/filenamer.py
parent64f41d53728a966f10aef6d7ffbc00853d754300 (diff)
fixed some basics
Diffstat (limited to 'im/cgi-bin/imweb/filenamer.py')
-rwxr-xr-xim/cgi-bin/imweb/filenamer.py115
1 files changed, 115 insertions, 0 deletions
diff --git a/im/cgi-bin/imweb/filenamer.py b/im/cgi-bin/imweb/filenamer.py
new file mode 100755
index 0000000..9b6ef32
--- /dev/null
+++ b/im/cgi-bin/imweb/filenamer.py
@@ -0,0 +1,115 @@
+#!/usr/bin/python
+
+import sys
+import os
+import re
+import time
+import string
+import urllib
+import sha
+
+#this program takes a url and makes a new filename for it. it also
+#splits out the extension. this is important for manipulating images
+#it returns a hash, part[0] is the filename and part[1] is the extension
+#called like this filenamer.filename(url, nametag, username)
+
+
+thefilename = ""
+extension = ""
+
+nametag = ""
+username = ""
+url = ""
+
+def getargs():
+ global username
+ global nametag
+ global url
+ args = sys.argv
+ if len(args) < 2:
+ return None
+ if len(args) >= 4:
+ username = args[-1]
+ nametag = args[-2]
+ url = args[-3]
+ if len(args) == 3:
+ nametag = args[-1]
+ url = args[-2]
+ if len(args) == 2:
+ url = args[-1]
+ thereturn = {}
+ thereturn['url'] = url
+ thereturn['nametag'] = nametag
+ thereturn['username'] = username
+ return thereturn
+
+def sanitize (str):#this removes pretty much everything but letters(and underscores) from a url
+ return re.sub(r'\W+', '', str)
+#def sanitize (str):
+# tmp_str = urllib.unquote(str)
+# return re.sub(r'\W+', '', tmp_str)
+
+
+
+
+def now ():
+ return int(time.mktime(time.localtime()))
+
+def spliturl(url):
+ if len(url) < 3 or '/' not in url:
+ sys.stdout.write('you have not provided a url')
+ print 'you have not provided a url'
+ sys.exit()
+ parts = url.split('/')
+ namepart = parts[-1]
+ importantparts = namepart.split('.')
+ extension = importantparts[-1]
+ if "?" in extension:
+ querysplit = extension.split('?')
+ extension = querysplit[0]
+ if len(extension) >= 5:
+ sys.stdout.write('the file is not an image or any standard format')
+ print 'the file is not an image or any standard format'
+ sys.exit
+ namepart = importantparts[-2]
+ if len(namepart)>50:
+ namepart = "xx_abridged__"
+ sanitized = sanitize(namepart)
+ salvaged = {}
+ salvaged['extension'] = extension
+ salvaged['namepart'] = sanitized
+ return salvaged
+
+def prepare(url):
+ global nametag
+ global username
+ time = now()
+ datestamp = str(time)
+ parts = spliturl(url)
+ extension = parts['extension']
+ original = parts['namepart']
+ thefilename = nametag+'_'+datestamp+"_"+original+"_"+username+'.'+extension
+ return thefilename
+
+def filename(url, tag="", usrname=""):
+ global nametag
+ global username
+ if tag == None:
+ tag = ""
+ if usrname == None:
+ usrname = ""
+ nametag = tag
+ username = usrname
+ thefilename = prepare(url)
+ print thefilename
+ return thefilename
+ sys.exit()
+
+
+if __name__ == '__main__':
+ vars = getargs()
+ url=vars['url']
+ nametag=vars['nametag']
+ username = vars['username']
+ filename(url,nametag,username)
+