blob: 9b6ef32b9332dfe4fcac8a9f1d4c450c9deab768 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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)
|