Adds new script to retrieve URL escape codes
This commit is contained in:
parent
0166fe0c48
commit
00c2bdc988
1 changed files with 56 additions and 0 deletions
56
.escape_codes_url.py
Normal file
56
.escape_codes_url.py
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
"""
|
||||||
|
Forward and Backward lookups for URL escape sequences
|
||||||
|
"""
|
||||||
|
|
||||||
|
import sys, re
|
||||||
|
|
||||||
|
|
||||||
|
literal_to_esccode = {
|
||||||
|
' ': '%20',
|
||||||
|
'<': '%3C',
|
||||||
|
'>': '%3E',
|
||||||
|
'#': '%23',
|
||||||
|
'%': '%25',
|
||||||
|
'{': '%7B',
|
||||||
|
'}': '%7D',
|
||||||
|
'|': '%7C',
|
||||||
|
'\\': '%5C',
|
||||||
|
'^': '%5E',
|
||||||
|
'~': '%7E',
|
||||||
|
'[': '%5B',
|
||||||
|
']': '%5D',
|
||||||
|
'`': '%60',
|
||||||
|
';': '%3B',
|
||||||
|
'/': '%2F',
|
||||||
|
'?': '%3F',
|
||||||
|
':': '%3A',
|
||||||
|
'@': '%40',
|
||||||
|
'=': '%3D',
|
||||||
|
'&': '%26',
|
||||||
|
'$': '%24',
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
esccode_to_literal = {
|
||||||
|
v: k for k, v in literal_to_esccode.items()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def is_esccode(string):
|
||||||
|
p = re.compile(r'^%\w\w$')
|
||||||
|
m = p.match(string)
|
||||||
|
return bool(p.match(string))
|
||||||
|
|
||||||
|
|
||||||
|
try:
|
||||||
|
el = sys.argv[1]
|
||||||
|
except:
|
||||||
|
el = None
|
||||||
|
|
||||||
|
if not el:
|
||||||
|
print literal_to_esccode
|
||||||
|
else:
|
||||||
|
msg = esccode_to_literal[el] if is_esccode(el) else literal_to_esccode[el]
|
||||||
|
print '"{0}": "{1}"'.format(el, msg)
|
Loading…
Reference in a new issue