Recent commits to derivepassphrase.git (20afa4a2b571e93ae84bbab68cb1dd6e8adc0f58) https://git.schokokeks.org/derivepassphrase.git/tree/20afa4a2b571e93ae84bbab68cb1dd6e8adc0f58 Recent commits feed provided by GitList. Add changelog entry for fixed Zsh completion https://git.schokokeks.org/derivepassphrase.git/commit/20afa4a2b571e93ae84bbab68cb1dd6e8adc0f58 software@the13thletter.info (Marco Ricci) Fri, 17 Jan 2025 20:54:28 +0100 20afa4a2b571e93ae84bbab68cb1dd6e8adc0f58 Fix Zsh completion output, again The new Zsh serialization handler in bba4bd075ab5e1d6a6a76d90b129ad0d58425b96 was tested only against completion items with descriptions, and it did not properly take into account that items *without* descriptions would be passed directly to Zsh as unescaped completion entries, i.e., no interpretation of escape sequences would occur. We fix this in both the code and the tests, and include a safeguard against applying this against the wrong Zsh completion script version (at least as far as we can programmatically determine from within Python). References: [click#2703](https://github.com/pallets/click/issues/2703) https://git.schokokeks.org/derivepassphrase.git/commit/760cca228aa3b8f8b6e6610d0334f4b744d4d19f software@the13thletter.info (Marco Ricci) Fri, 17 Jan 2025 20:51:03 +0100 760cca228aa3b8f8b6e6610d0334f4b744d4d19f Merge topic branch 'usage-fixes' into master * t/usage-fixes: Add changelog entry for the recent renaming and recasting of some type Fix usage of `mypy --python-version=3.9` and friends Make key pairs, key sets and key-comment pairs generic Convert `tests.SSHTestKey` into a named tuple Move storeroom helper types into `_types` module, as named tuples Fix formatting and linting issues https://git.schokokeks.org/derivepassphrase.git/commit/c4cb9a418dbd545234b1d3690627507a8ee97225 software@the13thletter.info (Marco Ricci) Thu, 16 Jan 2025 01:52:47 +0100 c4cb9a418dbd545234b1d3690627507a8ee97225 Add changelog entry for the recent renaming and recasting of some type https://git.schokokeks.org/derivepassphrase.git/commit/f78506ee23c6ee6d55ab3ab2bdec8ba12c861d1b software@the13thletter.info (Marco Ricci) Thu, 16 Jan 2025 01:50:18 +0100 f78506ee23c6ee6d55ab3ab2bdec8ba12c861d1b Fix usage of `mypy --python-version=3.9` and friends On the one hand, use a small stub file for `tomli`, because `mypy` is run from all sorts of `hatch` environments or Python virtual environments that are not set up correctly with `tomli`. On the other hand, type checking cannot rely on `try`-`except`-`ImportError` blocks working for type inference purposes, so variables imported as such need an explicit declaration. (In this specific case, this could be alleviated with explicit Python version checks, but I find that decidedly unpythonic.) https://git.schokokeks.org/derivepassphrase.git/commit/032d431a1d6d6fe31749fb281c030e4825eab62d software@the13thletter.info (Marco Ricci) Thu, 16 Jan 2025 01:28:57 +0100 032d431a1d6d6fe31749fb281c030e4825eab62d Make key pairs, key sets and key-comment pairs generic Parametrize `_types.SSHKeyCommentPair`, `_types.StoreroomKeyPair` and `_types.StoreroomMasterKeys` over the exact `Buffer` type being used. Also supply a `.toreadonly()` method (similar to `memoryview.toreadonly()`) that converts all `Buffer`s to `bytes` objects. https://git.schokokeks.org/derivepassphrase.git/commit/d4d62b2708b2895095ff9e2ca71f2d370755d156 software@the13thletter.info (Marco Ricci) Thu, 16 Jan 2025 01:05:38 +0100 d4d62b2708b2895095ff9e2ca71f2d370755d156 Convert `tests.SSHTestKey` into a named tuple Again, this makes the notation more readable, and allows test keys to contain methods. Use this to group keys into always suitable keys and other keys, instead of having to manually define appropriate tables. https://git.schokokeks.org/derivepassphrase.git/commit/11a492e7d9c86097a31c97d78d9751f1d82db377 software@the13thletter.info (Marco Ricci) Thu, 16 Jan 2025 00:55:16 +0100 11a492e7d9c86097a31c97d78d9751f1d82db377 Move storeroom helper types into `_types` module, as named tuples Move `exporter.storeroom.KeyPair` and `exporter.storeroom.MasterKeys` into the `_types` module, as `StoreroomKeyPair` and `StoreroomMasterKeys`, respectively. Also convert them from `TypedDict` to `NamedTuple`. Also rename `_types.KeyCommentPair` to `_types.SSHKeyCommentPair` for consistency. https://git.schokokeks.org/derivepassphrase.git/commit/3389da68ea507ff9bd0d12562e04cb883e9997b9 software@the13thletter.info (Marco Ricci) Wed, 15 Jan 2025 21:07:32 +0100 3389da68ea507ff9bd0d12562e04cb883e9997b9 Fix formatting and linting issues https://git.schokokeks.org/derivepassphrase.git/commit/b65b618949ca77aa0ad481ae2a517d0b469a4d9f software@the13thletter.info (Marco Ricci) Wed, 15 Jan 2025 20:09:20 +0100 b65b618949ca77aa0ad481ae2a517d0b469a4d9f Merge topic branch 'l10n-machinery' into master * t/l10n-machinery: Convert translatable string construction in enums to positional args only Normalize and unwrap translatable strings (messages and comments) Add hypothesis-based tests for l10n machinery Fix obvious coverage failures among the translatable strings machinery Split off comments in translatable string enum value constructor Sort arguments to translatable string enum value constructor Issue new context IDs for translatable messages Fix debug output of messages with trimmed filenames Support SOURCE_DATE_EPOCH for .po file generation Move translation string preparation into the TranslatableString class Properly support trimmed filenames in translation strings Generate debug translations automatically, in code and on the command-line Hide translation template enums behind a type alias https://git.schokokeks.org/derivepassphrase.git/commit/e9c19afa34ddb3a061c243fc8b5eeca83b3f6ba5 software@the13thletter.info (Marco Ricci) Wed, 15 Jan 2025 19:31:19 +0100 e9c19afa34ddb3a061c243fc8b5eeca83b3f6ba5