Example generators are an addition to the 'Value' classes that allow the error handler to display
example values for the failed value.
For example if no django secret key is found to be defined in the environment, an example (secure)
value for such a secret key can now be generated on the fly and be suggested to the user
The test failed for two reasons. One was me changing the error string in a previous commit which
I have adapted the test for now.
The other was that django-cache-url changed its behavior. See https://github.com/jazzband/django-configurations/issues/332
This introduces a function that wraps django entry points with an error
handler so that our own exception can be pretty-printed to an end-user
without a large stack-trace.
The defined error handler has also been applied to the existing
management, wsgi, asgi and fastcgi entry point definitions.
Previously and ImproperlyConfigured error was always raised when an invalid
default configured for the BooleanValue class.
This behavior is unnecessary if the default is never used because the
value is marked as environ_required.
The check has thus been adapted to ignore invalid defaults in that case.
This makes it easier to determine what exactly went wrong and thus build
better error handling in a later commit.
Tests were adapted accordingly to assert that only those specific errors
are raised instead of the plain ValueErrors.
* Refactor the documentation build process
Significant improvements:
* Allow easy isolated local builds via a dedicated Tox environment
* Configure Sphinx to use consistent packages and theme across local, CI,
and ReadTheDocs builds; local builds now look the same as the published
RTD pages
* Explicitly add a ReadTheDocs configuration as code, per their documented
best practices
* Remove lots of dead code and simplify the Sphinx configuration file
* Build docs in a dedicated CI step and enable stricter warning checking
* Fix docutils related build error.
* Relax Sphinx version.
* Invalidate RTD build cache.
* No need to combine coverage reporting I think.
* Add combining again.
Co-authored-by: Jannis Leidel <jannis@leidel.info>