Mercurial > hg > config
comparison python/hexify.py @ 664:ffb75d832afe
make sneaky urls
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Mon, 07 Apr 2014 19:24:57 -0700 |
parents | f3ab51c79813 |
children |
comparison
equal
deleted
inserted
replaced
663:002bca22c0f4 | 664:ffb75d832afe |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | |
2 import sys | 3 import sys |
3 print ''.join([ '%'+ hex(ord(i))[-2:] for i in ' '.join(sys.argv[1:]) ]) | 4 |
5 def hexify(string, excludes=('/',)): | |
6 return ''.join([i if i in excludes else ('%'+ hex(ord(i))[-2:]) | |
7 for i in string]) | |
8 | |
9 def hidden_url(string): | |
10 if '://' in string: | |
11 scheme, rest = string.split('://', 1) | |
12 if '/' in rest: | |
13 loc, rest = rest.split('/', 1) | |
14 return '{}://{}/{}'.format(scheme, loc, hexify(rest, excludes=('/',))) | |
15 else: | |
16 return string | |
17 else: | |
18 return hexify(string, excludes=('/',)) | |
19 | |
20 def main(args=sys.argv[1:]): | |
21 string = ' '.join(args) | |
22 print hidden_url(string) | |
23 | |
24 if __name__ == '__main__': | |
25 main() |