fix base32
This commit is contained in:
parent
273dbbfd18
commit
0695d80ce9
1 changed files with 16 additions and 4 deletions
20
ox/format.py
20
ox/format.py
|
@ -39,9 +39,24 @@ def to32(q):
|
||||||
return "".join(converted) or '0'
|
return "".join(converted) or '0'
|
||||||
|
|
||||||
def from32(q):
|
def from32(q):
|
||||||
|
"""
|
||||||
|
Converts an base 32 string to an integer
|
||||||
|
We exclude 4 of the 26 letters: I L O U.
|
||||||
|
http://www.crockford.com/wrmg/base32.html
|
||||||
|
|
||||||
|
>>> form32(to32(35))
|
||||||
|
35
|
||||||
|
>>> form32(to32(119292))
|
||||||
|
119292
|
||||||
|
>>> from32(to32(0))
|
||||||
|
0
|
||||||
|
"""
|
||||||
_32map = {
|
_32map = {
|
||||||
'0': 0,
|
'0': 0,
|
||||||
|
'O': 0,
|
||||||
'1': 1,
|
'1': 1,
|
||||||
|
'I': 1,
|
||||||
|
'L': 1,
|
||||||
'2': 2,
|
'2': 2,
|
||||||
'3': 3,
|
'3': 3,
|
||||||
'4': 4,
|
'4': 4,
|
||||||
|
@ -72,11 +87,8 @@ def from32(q):
|
||||||
'X': 29,
|
'X': 29,
|
||||||
'Y': 30,
|
'Y': 30,
|
||||||
'Z': 31,
|
'Z': 31,
|
||||||
'O': 0,
|
|
||||||
'I': 1,
|
|
||||||
'L': 1,
|
|
||||||
}
|
}
|
||||||
base32 = '0123456789ABCDEFGHIJKLMNOPQRSTUV'
|
base32 = "0123456789ACBEDGFHKJMNQPSRTWVYXZ"
|
||||||
q = q.replace('-','')
|
q = q.replace('-','')
|
||||||
q = ''.join([base32[_32map[i.upper()]] for i in q])
|
q = ''.join([base32[_32map[i.upper()]] for i in q])
|
||||||
return int(q, 32)
|
return int(q, 32)
|
||||||
|
|
Loading…
Reference in a new issue