Recent commits to derivepassphrase.git (2cc4e4fffab112760803e80084f665d87b468069) https://git.schokokeks.org/derivepassphrase.git/tree/2cc4e4fffab112760803e80084f665d87b468069 Recent commits feed provided by GitList. Refactor vault config validity checking and falsy value cleanup functions Introduce a new workhorse class that provides the validity checking and the falsy value cleanup functionality. The existing top-level functions are now mere facades. The primary reason is to keep the complexity and the nesting level of these functions low-ish: they still trigger linting errors that need to be silenced, but the nesting is tamer, and some common functionality (e.g., tree traversal) can be usefully extracted. https://git.schokokeks.org/derivepassphrase.git/commit/2cc4e4fffab112760803e80084f665d87b468069 software@the13thletter.info (Marco Ricci) Tue, 21 Jan 2025 21:02:31 +0100 2cc4e4fffab112760803e80084f665d87b468069 Check at runtime if deprecated keyword arguments are used The `warnings.deprecated` decorator sadly does not do anything at runtime if merely one of several overloads is deprecated. And it seems to fail even if the deprecated signature is actively used; see `_types.is_vault_config`. Implement a known working solution to check if the deprecated keyword argument was supplied. (No tests yet, so excluded from coverage.) https://git.schokokeks.org/derivepassphrase.git/commit/387941e06b2539a702c22139d1f7475f30217c62 software@the13thletter.info (Marco Ricci) Tue, 21 Jan 2025 21:02:31 +0100 387941e06b2539a702c22139d1f7475f30217c62 Merge topic branch 'pathlib' into master * t/pathlib: Use `pathlib` for path or filename operations https://git.schokokeks.org/derivepassphrase.git/commit/80810bd4eaa1dd9db8434d95682347ae36ce8b07 software@the13thletter.info (Marco Ricci) Mon, 20 Jan 2025 18:00:28 +0100 80810bd4eaa1dd9db8434d95682347ae36ce8b07 Use `pathlib` for path or filename operations The interface was already supported by all the user-facing code (interestingly enough) and by almost all of the internal code. Using `pathlib.Path` objects directly instead of manually dealing with string or byte string collections does cut down on a lot of the otherwise explicit bookkeeping and context management. Some changes to the tests are necessary because other (or more) functions need to be mocked, or other ways of testing successful or ensuring unsuccessful operations are needed. https://git.schokokeks.org/derivepassphrase.git/commit/65725c82b8466edb0c90061e0750a3d9aaa9f53b software@the13thletter.info (Marco Ricci) Mon, 20 Jan 2025 18:00:12 +0100 65725c82b8466edb0c90061e0750a3d9aaa9f53b Merge topic branch 'documentation-fixes' into master * t/documentation-fixes: Make `T_Buffer` type variable visible at runtime again Adapt "storeroom" tests to use new names for helper functions https://git.schokokeks.org/derivepassphrase.git/commit/c539203b53c4317342f311d3ef2f1f9f50009e26 software@the13thletter.info (Marco Ricci) Mon, 20 Jan 2025 15:27:30 +0100 c539203b53c4317342f311d3ef2f1f9f50009e26 Make `T_Buffer` type variable visible at runtime again Apparently this is necessary to keep the class properly importable: subclassing `typing.Generic` with a runtime-invisible type variable or with a string fails. https://git.schokokeks.org/derivepassphrase.git/commit/751f013f7398e98809cba085cb1b1fcd11ce5f66 software@the13thletter.info (Marco Ricci) Mon, 20 Jan 2025 15:21:59 +0100 751f013f7398e98809cba085cb1b1fcd11ce5f66 Adapt "storeroom" tests to use new names for helper functions The names changed in d58a3abf705eba597a358c323416c325aa649a02, but the tests were still using the old names. Oops. https://git.schokokeks.org/derivepassphrase.git/commit/c66ee5857ee1cea525f7d94596154bd3c80b31ca software@the13thletter.info (Marco Ricci) Mon, 20 Jan 2025 15:10:25 +0100 c66ee5857ee1cea525f7d94596154bd3c80b31ca Merge topic branch 'documentation-fixes' into master * t/documentation-fixes: Add CLI messages module to documentation Add docstrings for CLI messages module Reformat changelog preamble, and mention exceptions to the public API Convert the Deprecated section to an admonition Rename and expose the Buffer-ish TypeVar for prettier documentation Make the "storeroom" module's helper functions private but documented Move vault config exporter functions to the top Expose the `EVP_BytesToKey` implementation at class level Fix the parsing of options to `mkdocstrings` in the reference pages Document internal functions of the vault config exporter Consolidate ExportVaultConfigDataFunction documentation Reset excluded doc files for offline documentation builds Remove license text from some docstrings in `derivepassphrase.cli` Copyedit "altered versions" license FAQ Fix links and other wrapping-related formatting in changelog https://git.schokokeks.org/derivepassphrase.git/commit/7dd560cf65367d4be40fa1dc09a802ead78e88e1 software@the13thletter.info (Marco Ricci) Sun, 19 Jan 2025 23:57:06 +0100 7dd560cf65367d4be40fa1dc09a802ead78e88e1 Add CLI messages module to documentation The "submodule `cli`" will be expanded to a "subpackage `cli`", and `_cli_msg` will be a "virtual submodule" until it is appropriately renamed and relocated into the semantic module hierarchy. https://git.schokokeks.org/derivepassphrase.git/commit/71a8045507fde0fb3734c2c12aa2c204d3cb121b software@the13thletter.info (Marco Ricci) Sun, 19 Jan 2025 23:56:09 +0100 71a8045507fde0fb3734c2c12aa2c204d3cb121b Add docstrings for CLI messages module Also rename the `_Commented` pseudo-decorator function to `commented`, and the `_TranslatedStringConstructor` protocol (a typo) to `TranslatableStringConstructor`. https://git.schokokeks.org/derivepassphrase.git/commit/ff715a44ba1a9a34bc3c8fa39b12f0b433fc8536 software@the13thletter.info (Marco Ricci) Sun, 19 Jan 2025 23:56:09 +0100 ff715a44ba1a9a34bc3c8fa39b12f0b433fc8536