Show
Ignore:
Timestamp:
10/25/07 16:42:40 (15 months ago)
Author:
steadicat
Message:

TinyId? now doesn't use ambiguous characters like o, 0, 1, l, i.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • django/trunk/contrib/tinyid.py

    r84 r91  
    7979    return r 
    8080 
     81#             123456789 
     82#                       abcdefghjkmnpqrstuvwxyz 
     83 
     84oascii = r"""                                 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                 """ 
     85ascii = r"""                                 !"#$%&'()*+,-./9abcdefghj:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`kmnpqrstuvwxyz12345678wxyz{|}~                                                                                                                                 """ 
     86iascii = r"""                                 !"#$%&'()*+,-./jopqrstuv0:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`12345678 9a bc defghijklmn{|}~                                                                                                                                 """ 
    8187def tinyid(id): 
    82     return rebase(id, 10, 35) 
     88    return rebase(id, 10, 32).translate(ascii) 
    8389 
    8490def reverseTinyid(tinyid): 
    85     return rebase(tinyid, 35, 10) 
     91    return int(rebase(str(tinyid).translate(iascii), 32, 10)) 
    8692