diff --git a/util/uid.py b/util/randomname.py similarity index 92% rename from util/uid.py rename to util/randomname.py index a273f54..efa997b 100644 --- a/util/uid.py +++ b/util/randomname.py @@ -28,8 +28,8 @@ import random bits = 128 -def generateUid(check=None, lowerCaseOnly=False, bits=bits, seed=None, base=62): - """ Generates a unique ID. +def generateName(check=None, lowerCaseOnly=False, bits=bits, seed=None, base=62): + """ Generates an unguessable random name. """ if base > 64: raise ValueError('The base argument may not exceed 64, but is %i.' % base) diff --git a/util/randomname.txt b/util/randomname.txt new file mode 100644 index 0000000..27e4816 --- /dev/null +++ b/util/randomname.txt @@ -0,0 +1,34 @@ +========================================================= +Generate Random Names Suitable as Unguessable Identifiers +========================================================= + +$Id$ + + >>> from cybertools.util.randomname import generateName + + >>> generateName(seed=42) + '5MdsLTYmogAeWfbrLDBY8l' + + >>> generateName(seed=42) + '5MdsLTYmogAeWfbrLDBY8l' + + >>> def checkIt(id): + ... return id != '5MdsLTYmogAeWfbrLDBY8l' + + >>> generateName(check=checkIt, seed=42) + '15pahuNd5rxoekvZSMGAl1' + + >>> generateName(lowerCaseOnly=True, seed=42) + 'b8lhps8li07acdu7i0w01b0rh' + + >>> generateName() + '...' + + >>> generateName(base=64, seed=42) + '2ZRA3X1CsqQhO0cn-zInCt' + + >>> generateName(base=99, seed=42) + Traceback (most recent call last): + ... + ValueError: The base argument may not exceed 64, but is 99. + diff --git a/util/tests.py b/util/tests.py index f57aea1..621a6cc 100755 --- a/util/tests.py +++ b/util/tests.py @@ -22,7 +22,7 @@ def test_suite(): doctest.DocFileSuite('defer.txt', optionflags=flags), doctest.DocFileSuite('property.txt', optionflags=flags), doctest.DocFileSuite('jeep.txt', optionflags=flags), - doctest.DocFileSuite('uid.txt', optionflags=flags), + doctest.DocFileSuite('randomname.txt', optionflags=flags), )) if __name__ == '__main__': diff --git a/util/uid.txt b/util/uid.txt deleted file mode 100644 index 8d7d7fd..0000000 --- a/util/uid.txt +++ /dev/null @@ -1,34 +0,0 @@ -=========================== -Generate Unique Identifiers -=========================== - -$Id$ - - >>> from cybertools.util.uid import generateUid - - >>> generateUid(seed=42) - '5MdsLTYmogAeWfbrLDBY8l' - - >>> generateUid(seed=42) - '5MdsLTYmogAeWfbrLDBY8l' - - >>> def checkIt(id): - ... return id != '5MdsLTYmogAeWfbrLDBY8l' - - >>> generateUid(check=checkIt, seed=42) - '15pahuNd5rxoekvZSMGAl1' - - >>> generateUid(lowerCaseOnly=True, seed=42) - 'b8lhps8li07acdu7i0w01b0rh' - - >>> generateUid() - '...' - - >>> generateUid(base=64, seed=42) - '2ZRA3X1CsqQhO0cn-zInCt' - - >>> generateUid(base=99, seed=42) - Traceback (most recent call last): - ... - ValueError: The base argument may not exceed 64, but is 99. -