123456789101112131415161718192021222324252627282930 |
- """Handle a hash digest of the translatable strings."""
- # Copyright (c) 2021 Jupyter Development Team.
- # Distributed under the terms of the Modified BSD License.
- from hashlib import sha256
- from pathlib import Path
- from tempfile import TemporaryDirectory
- import polib
- from jupyterlab_translate.api import extract_language_pack
- HERE = Path(__file__).parent
- if __name__ == "__main__":
- with TemporaryDirectory() as tmp_dir:
- extract_language_pack(HERE.parent, tmp_dir, "jupyterlab", False)
- pot = polib.pofile(
- str(Path(tmp_dir) / "jupyterlab" / "locale" / "jupyterlab.pot"),
- wrapwidth=100000,
- )
- hash = sha256()
- # Use only the context and the id as the position may changed without impact
- # Sort the entry because the order in the POT file may changed (likely because code position changed)
- for entry in sorted(map(lambda e: f"{e.msgctxt!s} {e.msgid!s}", pot)):
- hash.update(entry.encode("utf-8"))
- proof = hash.hexdigest()
- print(proof)
|