From 14f7c366d0953699bc8a3e06e2063c876c6c31ac Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 5 Dec 2011 22:06:09 +0900 Subject: [PATCH] add base62 --- anki/utils.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/anki/utils.py b/anki/utils.py index 772fa3487..fd574c7ee 100644 --- a/anki/utils.py +++ b/anki/utils.py @@ -191,16 +191,20 @@ def maxID(db): "select max(id) from %s" % tbl)) return now + 1 -def base91(num): +# used in ankiweb +def base62(num, extra=""): s = string - # all printable characters minus quotes, backslash and separators - table = s.letters + s.digits + "!#$%&()*+,-./:;<=>?@[]^_`{|}~" + table = s.letters + s.digits + extra buf = "" while num: num, i = divmod(num, len(table)) buf = table[i] + buf return buf +def base91(num): + # all printable characters minus quotes, backslash and separators + return base62(num, "!#$%&()*+,-./:;<=>?@[]^_`{|}~") + def guid64(): "Return a base91-encoded 64bit random number." return base91(random.randint(0, 2**64-1))