diff --git a/zerver/data_import/hipchat.py b/zerver/data_import/hipchat.py index b88b8e0a8f..b016640330 100755 --- a/zerver/data_import/hipchat.py +++ b/zerver/data_import/hipchat.py @@ -40,10 +40,7 @@ from zerver.data_import.import_util import ( from zerver.data_import.hipchat_attachment import AttachmentHandler from zerver.data_import.hipchat_user import UserHandler -from zerver.data_import.sequencer import sequencer - -# Create one sequencer for our entire conversion. -NEXT_ID = sequencer() +from zerver.data_import.sequencer import NEXT_ID # stubs ZerverFieldsT = Dict[str, Any] diff --git a/zerver/data_import/hipchat_attachment.py b/zerver/data_import/hipchat_attachment.py index 7dafed3d17..3d9893d62b 100644 --- a/zerver/data_import/hipchat_attachment.py +++ b/zerver/data_import/hipchat_attachment.py @@ -9,10 +9,7 @@ from zerver.data_import.import_util import ( from typing import Any, Dict, List, Optional -from zerver.data_import.sequencer import sequencer - -# Create one sequencer for our entire conversion. -NEXT_ID = sequencer() +from zerver.data_import.sequencer import NEXT_ID class AttachmentHandler: def __init__(self) -> None: diff --git a/zerver/data_import/sequencer.py b/zerver/data_import/sequencer.py index 9a308ac975..208b9a17e8 100644 --- a/zerver/data_import/sequencer.py +++ b/zerver/data_import/sequencer.py @@ -26,7 +26,7 @@ def sequencer() -> Callable[[str], int]: Use like this: NEXT_ID = sequencer() - message_id = NEXT_ID('message_id') + message_id = NEXT_ID('message') ''' seq_dict = dict() # type: Dict[str, Callable[[], int]] @@ -37,3 +37,14 @@ def sequencer() -> Callable[[str], int]: return seq() return next_one + +''' +NEXT_ID is a singleton used by an entire process, which is +almost always reasonable. If you want to have two parallel +sequences, just use different `name` values. + +This object gets created once and only once during the first +import of the file. +''' + +NEXT_ID = sequencer()