]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
idlib: make failures much clearer when encountering unicode
authorrobk-tahoe <robk-tahoe@allmydata.com>
Fri, 15 Feb 2008 00:23:07 +0000 (17:23 -0700)
committerrobk-tahoe <robk-tahoe@allmydata.com>
Fri, 15 Feb 2008 00:23:07 +0000 (17:23 -0700)
while investigating fuse related stuff, I spent quite a while staring at
very cryptic explosions I got from idlib.  it turns out that unicode
objects and str objects have .translate() methods with differing signatures.
to save anyone else the headache, this makes it very clear if you accidentally
try to pass a unicode object in to a2b() etc.

src/allmydata/util/base32.py

index 983ff1948b62716c63f056481e4864e40d70a302..c5e5017ed6774820122d5c7b53486bd9c36d0569 100644 (file)
@@ -181,6 +181,7 @@ s5 = init_s5()
 def could_be_base32_encoded(s, s8=s8, tr=string.translate, identitytranstable=identitytranstable, chars=chars):
     if s == '':
         return True
+    precondition(not isinstance(s, unicode), s)
     return s8[len(s)%8][ord(s[-1])] and not tr(s, identitytranstable, chars)
 
 def could_be_base32_encoded_l(s, lengthinbits, s5=s5, tr=string.translate, identitytranstable=identitytranstable, chars=chars):