Moved XDG config loading to entrypoint #242
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Changes
Removed loading configuration from XDG directories out of the Manager
constructor and into the main entrypoint, and modified logic to comply
with the XDG Base Directories specification. This should now obey
XDG_CONFIG_HOME, XDG_CONFIG_DIRS, XDG_DATA_HOME and
XDG_DATA_DIRS with correct precedence. Modules from any data
directory will also be loaded (e.g.
/etc/pwncat/modules
or~/.local/share/pwncat/modules
).If no configuration is passed to the
Manager
constructor, it will nolonger load any configuration by default (the built-in modules will still be
loaded, though).
I also had to update the unit test for custom configurations, since the
Manager
class no longer loads from XDG directories.Fixes #239
Please note any
noqa:
comments needed to appease flake8.Major Changes Implemented:
Manager
class.Pre-Merge Tasks
python-black
isort
flake8
on repo, and fixed any new problems w/ modified filespytest
test cases[Unreleased]
)For issues with pre-merge tasks, see CONTRIBUTING.md