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 no
longer 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:
Removed default configuration loading from Manager class.
Added XDG-compliant configuration and module loading to the main entrypoint.
Pre-Merge Tasks
[x] Formatted all modified files w/ python-black
[x] Sorted imports for modified files w/ isort
[x] Ran flake8 on repo, and fixed any new problems w/ modified files
[x] Ran pytest test cases
[x] Added brief summary of updates to CHANGELOG (under [Unreleased])
For issues with pre-merge tasks, see CONTRIBUTING.md
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 no longer 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