diff options
Diffstat (limited to 'id_generator.py')
| -rw-r--r-- | id_generator.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/id_generator.py b/id_generator.py index 4e650dc..bcd3a83 100644 --- a/id_generator.py +++ b/id_generator.py @@ -10,7 +10,7 @@ logger = logging.getLogger(__name__) generators = {} -def get(name: str) -> int: +def get(name: str, *, start=0) -> int: """ Returns a thread safe monotonically increasing id suitable for use as a globally unique identifier. @@ -20,9 +20,13 @@ def get(name: str) -> int: 0 >>> id_generator.get('student_id') 1 + >>> id_generator.get('employee_id', start=10000) + 10000 + >>> id_generator.get('employee_id', start=10000) + 10001 """ if name not in generators: - generators[name] = itertools.count() + generators[name] = itertools.count(start, 1) x = next(generators[name]) logger.debug(f"Generated next id {x}") return x |
