]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blob - src/allmydata/util/idlib.py
185b3a3bf79a29e45dde065a41fb9f4303ac90d2
[tahoe-lafs/tahoe-lafs.git] / src / allmydata / util / idlib.py
1 from base64 import b32encode, b32decode
2
3 def b2a(i):
4     assert isinstance(i, str), "tried to idlib.b2a non-string '%s'" % (i,)
5     return b32encode(i).lower()
6
7 def b2a_or_none(i):
8     if i is None:
9         return None
10     return b2a(i)
11
12 def a2b(i):
13     assert isinstance(i, str), "tried to idlib.a2b non-string '%s'" % (i,)
14     try:
15         return b32decode(i.upper())
16     except TypeError:
17         print "b32decode failed on a %s byte string '%s'" % (len(i), i)
18         raise
19
20
21 def peerid_to_short_string(peerid):
22     return b2a(peerid)[:4]