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