projects
/
python_utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add doctests to some of this stuff.
[python_utils.git]
/
id_generator.py
diff --git
a/id_generator.py
b/id_generator.py
index cc287bb5819e0f31db1e504f0a136b1333f79dfe..4e650dca9f13662a1ace7013d4f00bcd3a0082e2 100644
(file)
--- a/
id_generator.py
+++ b/
id_generator.py
@@
-3,17
+3,31
@@
import itertools
import logging
import itertools
import logging
+# This module is commonly used by others in here and should avoid
+# taking any unnecessary dependencies back on them.
+
logger = logging.getLogger(__name__)
generators = {}
def get(name: str) -> int:
"""
logger = logging.getLogger(__name__)
generators = {}
def get(name: str) -> int:
"""
- def __init__(self):
- self.my_unique_id = id_generator.get("student_id")
+ Returns a thread safe monotonically increasing id suitable for use
+ as a globally unique identifier.
+
+ >>> import id_generator
+ >>> id_generator.get('student_id')
+ 0
+ >>> id_generator.get('student_id')
+ 1
"""
if name not in generators:
generators[name] = itertools.count()
x = next(generators[name])
logger.debug(f"Generated next id {x}")
return x
"""
if name not in generators:
generators[name] = itertools.count()
x = next(generators[name])
logger.debug(f"Generated next id {x}")
return x
+
+
+if __name__ == '__main__':
+ import doctest
+ doctest.testmod()