fix OPML import crash with missing config file
Somehow it's possible that load_first_config returns None, exactly in the case when there is no pre-existing configuration file. We duct-tape a fix that looks up in the default directory, but this is...
View Articlesplit code of conduct and contribution guide
While they do relate to each other, one is somewhat boilerplate and people may have read it before, while the other is specific to this project. Furthermore, some sites like GitHub expect to see a...
View Articlepush issues up in contribution guide
It is more likely people send issues than patches, unfortunately
View Articleadd security disclosure guidelines and contact
This was inspired by some statistics published in this report: https://snyk.io/stateofossecurity/ * 2.89 years is the median time from when a vulnerability was introduced to when it was publicly...
View Articlefactor out project-specific links in a single document
We favor the include over a `rst_prolog` configuration because the latter "hides" the fact that we need an include at all, which may mean it will break on PyPI or plain rst2html used on GitLab or...
View Articlerefactor storage classes to force explicit path
Our hacks to forcibly set a class-level path then reuse it in instances was not working. It seems cleaner to explicitly force callers to provide the path to the file we are trying to manipulate in the...
View ArticleAPI: shorten and explicit variable names
config because conf_path and database becomes db_path. those are shorter and more explicit config_storage becomes conf_storage, to harmonize with the above.
View Articlefinally add a regression test for issue #1
After all this refactoring, we can finally add a regression test for issue #1. This requires us to monkeypatch the xdg module because it doesn't respect environment changes:...
View Article