https://git.schokokeks.org/derivepassphrase.git/tree/61f4c67ce11a1dd77b59613e550822d64877c904 Recent commits to derivepassphrase.git (61f4c67ce11a1dd77b59613e550822d64877c904) 2024-09-11T12:20:16+02:00 tag:gitlist.org,2012:commit/61f4c67ce11a1dd77b59613e550822d64877c904 Reintegrate all functionality as subcommands 2024-09-11T12:20:16+02:00 Marco Ricci m@the13thletter.info <pre>Move the existing main functionality into a `derivepassphrase vault` subcommand, and the existing exporter functionality into a `derivepassphrase export vault` subcommand, in preparation of supporting other schemes besides vault. Install proxy command-line interfaces that emit deprecation warnings and forward the call to the subcommands. (Some explanation and warning texts were relocated appropriately.) The exporter is no longer a separate command, but rather a subcommand `export`. The `derivepassphrase.exporter.cli` module has been folded into the `derivepassphrase.cli` module. Documentation and tests have been updated to match. The documentation in particular now strictly uses the one-line synopsis from the command's docstring. &lt;/pre&gt; tag:gitlist.org,2012:commit/904187c0453771a0b3e3e36293908c43323f8dc6 Merge branch topic 'misc-cleanup' into master 2024-09-08T11:11:30+02:00 Marco Ricci m@the13thletter.info <pre>* t/misc-cleanup: Change the author e-mail address Clean up testing machinery (types, helper functions) Remove `click` handling of command-line "path" arguments Add man page for `derivepassphrase_export` Streamline documentation file structure and linking Add exporter modules to the documentation Add vault_native exporter function and module docstrings Rename `vault_v03_and_below` submodule to `vault_native` Support text string services names in Vault internal API Fix the docstring of the vault native v0.2 exporter class Rename `derivepassphrase.vault` test file to match naming convention Apply new ruff ruleset to code base. &lt;/pre&gt; tag:gitlist.org,2012:commit/e8f3ec854c425cc36565a40adbf00d22a2febeec Change the author e-mail address 2024-09-08T11:08:45+02:00 Marco Ricci m@the13thletter.info <pre>&lt;/pre&gt; tag:gitlist.org,2012:commit/f76e05eff8a52e7287461c56995b329bc09ffb79 Clean up testing machinery (types, helper functions) 2024-09-02T01:23:14+02:00 Marco Ricci m@the13thletter.info <pre>- Submit all input to, and read all output from, `click`-based command-line interfaces via the textual streams. This includes the `.stdout`/`.output` and `.stderr` properties of a test runner result, and the input to the command-line call. - Write a new `typing.NamedTuple`-based interface for collecting the test runner result in a readable fashion, because the `click.testing.Result` `repr` output is really unhelpful. This also allows to define a higher-level API to check whether a `click` application ran successfully, with certain expected output, or whether it ran unsuccessfully, with certain expected error output. - Annotate all pytest `monkeypatch` fixtures as `pytest.MonkeyPatch`. &lt;/pre&gt; tag:gitlist.org,2012:commit/abadc0d0b8f8e910d31073a0dfcd8e82509daab6 Remove `click` handling of command-line "path" arguments 2024-09-01T18:08:20+02:00 Marco Ricci m@the13thletter.info <pre>Stop using the `click` facilities to run checks on command-line arguments or option values that are to be treated as paths; treat them like normal strings instead. `click`'s path checking functionality misdiagnoses its own failure cases, is racy, and does not document its own raciness. Instead, use `click`'s `open_file` function to handle the standard streams (an actual useful feature), and use bog-standard operating system calls for everything else. As an added bonus, this makes writing unit tests much easier, because we no longer have to work around `click`'s functionality and can use simpler counterexamples/failure cases. This change was originally prompted by a silently failing test, which did not test the expected error message because it was subject to translation, so `click` could silently sidestep the whole code under test. We now test for the operating system-provided error message directly, via standard operating system facilities that are integrated into the translation/locale system. &lt;/pre&gt; tag:gitlist.org,2012:commit/d081a2bc4dc00c67e84bdd90c239e5c814d84a8d Add man page for `derivepassphrase_export` 2024-09-01T16:46:57+02:00 Marco Ricci m@the13thletter.info <pre>The help text/docstring was missing a mention of which configuration formats are supported, which has now been added. &lt;/pre&gt; tag:gitlist.org,2012:commit/32d3a91a0576b369553422da5c368236cd793a8a Streamline documentation file structure and linking 2024-09-01T16:27:34+02:00 Marco Ricci m@the13thletter.info <pre>Use the "index page" functionality and the unpruned navigation list from MkDocs/Material, and use the module autorefs on the documentation overview page. &lt;/pre&gt; tag:gitlist.org,2012:commit/d7b090cc6c5fc3f05387d8999821aaf44f25ead7 Add exporter modules to the documentation 2024-09-01T16:19:55+02:00 Marco Ricci m@the13thletter.info <pre>The two exporter submodules `storeroom` and `vault_native` are short enough and thematically related, so they are placed on a common page "Exporters for vault". &lt;/pre&gt; tag:gitlist.org,2012:commit/9e46d4ec795267558b155c5260c5a37205bf9af1 Add vault_native exporter function and module docstrings 2024-09-01T16:13:48+02:00 Marco Ricci m@the13thletter.info <pre>Add an all-in-one exporter function to the `derivepassphrase.exporter.vault_native` module, similar to the function in the `derivepassphrase.exporter.storeroom` module. These two functions now define the public API of the respective module, and the other visible names are considered non-public (though documented, because they explain the inner workings of the respective exporters). The module docstrings have been appropriately expanded, and the tests have been adapted and expanded for the new function. &lt;/pre&gt; tag:gitlist.org,2012:commit/e6cfc21fcaf6afac8f32d137c1ce37dddd657724 Rename `vault_v03_and_below` submodule to `vault_native` 2024-09-01T15:01:07+02:00 Marco Ricci m@the13thletter.info <pre>&lt;/pre&gt;