SHOW:
|
|
- or go back to the newest paste.
1 | #!/usr/bin/env python | |
2 | # added color dict[1] | |
3 | # 1. http://stackoverflow.com/questions/2453344/find-the-colour-name-from-a-hexadecimal-colour-code | |
4 | # how to use : python antimatripheantispamcolor.py link username email | |
5 | # e.g : python http://localhost/matriphe tes [email protected] | |
6 | ||
7 | import urllib | |
8 | import urllib2 | |
9 | import cookielib | |
10 | import re | |
11 | import sys | |
12 | - | '#ff0000' : ('red',0), |
12 | + | |
13 | - | '#008000' : ('green',1), |
13 | + | |
14 | - | '#0060b6' : ('blue',2), |
14 | + | 'ff0000' : 'red', |
15 | - | '#ffd700' : ('yellow',3), |
15 | + | '008000' : 'green', |
16 | - | '#000000' : ('black',4), |
16 | + | '0060b6' : 'blue', |
17 | - | '#ffffff' : ('white',5), |
17 | + | 'ffd700' : 'yellow', |
18 | - | '#ff69b4' : ('pink',6), |
18 | + | '000000' : 'black', |
19 | - | '#ffa500' : ('orange',7), |
19 | + | 'ffffff' : 'white', |
20 | - | '#800080' : ('purple',8), |
20 | + | 'ff69b4' : 'pink', |
21 | - | '#7f7f7f' : ('grey',9), |
21 | + | 'ffa500' : 'orange', |
22 | '800080' : 'purple', | |
23 | '7f7f7f' : 'grey', | |
24 | } | |
25 | ||
26 | def get_color_name(hx): | |
27 | # if color is found in dict | |
28 | if colors.has_key(hx):return colors[hx] | |
29 | - | search_color = re.findall(r'background-color:(.*); border-color: rgb', resp) |
29 | + | |
30 | # else return its closest available color | |
31 | - | post_date = urllib.urlencode({'user_login':sys.argv[2], 'user_email':sys.argv[3], 'color_name':colors[search_color[0]][0], 'color_id':colors[search_color[0]][1], 'redirect_to':'', 'wp-submit':'Register'}) |
31 | + | m = 16777215 |
32 | k = '000000' | |
33 | for key in colors.keys(): | |
34 | a = int(hx[:2],16)-int(key[:2],16) | |
35 | b = int(hx[2:4],16)-int(key[2:4],16) | |
36 | c = int(hx[4:],16)-int(key[4:],16) | |
37 | ||
38 | v = a*a+b*b+c*c # simple measure for distance between colors | |
39 | ||
40 | # v = (r1 - r2)^2 + (g1 - g2)^2 + (b1 - b2)^2 | |
41 | ||
42 | if v <= m: | |
43 | m = v | |
44 | k = key | |
45 | ||
46 | return colors[k] | |
47 | ||
48 | ||
49 | cj = cookielib.CookieJar() | |
50 | opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) | |
51 | temp = opener.open('%s/wp-login.php?action=register' %sys.argv[1]) | |
52 | resp = temp.read() | |
53 | re2='background-color:\((#{1}(?:[A-F0-9]){6})(?![0-9A-F])\);border-color:#ddd' # HTML Color 1 | |
54 | search_color = re.findall(r'background-color:(.*); border-color: #ddd', resp) | |
55 | search_color_id = re.findall(r'<input type="hidden" name="color_id" value="(.?)" />',resp) | |
56 | search_color_hash = re.findall(r'<input type="hidden" name="color_hash" value="(.*)" />',resp) | |
57 | search_color = re.sub(r"#",'',search_color[0]) | |
58 | color_name =get_color_name(search_color) | |
59 | post_date = urllib.urlencode({'user_login':sys.argv[2], 'user_email':sys.argv[3], 'color_name':color_name, 'color_id':search_color_id[0], 'color_hash':search_color_hash[0], 'redirect_to':'', 'wp-submit':'Register'}) | |
60 | print post_date | |
61 | final = opener.open('%s/wp-login.php?action=register' %sys.argv[1], post_date) | |
62 | final_resp = final.read() | |
63 | ||
64 | if re.search(r"Registration complete. Please check your e-mail.", final_resp): | |
65 | print "register complete, please check your email" | |
66 | else: | |
67 | print "error register" |