doc: force default style for MB colors

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
fix entities for list requests

I put the wrong entities in my previous commit.
However, there is a reason for that:

get_releases_by_* etc. are named wrong.
You don't get releases, you get a discid entity which includes a list of
releases.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
add all relevant Errors to documentation

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
document strict search

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
link to musicbrainz WS documentation

This uses the extlinks extension. We might want to link to musicbrainz
docs several times in our documentation, like for entities.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
doc: read supported search fields from code

There is only one way to make sure code and documentation are in sync:
The documentated fields should be read from the code.
Since I couldn't find a way to evaluate a python construct in the
docstring and I didn't want to introduce a constant for every entity,
I just marked and included the relevant parts of the code.
doc: use templates for search docstrings

This enables us to list search fields, includes
and possibly other things later on in the docstring.
The docstring can be accessed by sphinx,
but also with the internal python help() and ipython.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
docs: state that results are dicts

We also link to the python dict and list classes as a convenience.
Implemented with the intersphinx extension.
Every link that can't be found in our implementation will be looked up
in the python documentation now.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
docs: add VALID_RELEASE_TYPES / _STATUSES

I also removed lots of empty lines.
They don't help to read the docs code and don't make a difference in the
output.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
Merge branch 'master' into doc_changes

I want to have that _check_filter_and_make_params() fix

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
Merge branch 'list_requests' into doc_changes

We don't want to document the wrong includes.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
docs: set module

This way we don't have to specify the module for every function again.
This also makes the module turn up in the module index.

We can use `currentmodule` to set the module in other files,
without adding these files as links targets for the module.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
document get requests (with includes)

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
document browse requests

This finishes includes documentation.
We now don't have to whole VALID_INCLUDES as one massive block of text
in the docs anymore.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
docs: fill "getting data" usage section

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
add searching usage

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
correct release_type/release_status checking

For both we can filter if we have the right includes OR
the right entities (important for browsing).
Release groups only have a status, but releases have a type and status,
since that is inherited by the group.

I also made PEP 8 changes to the checking function.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
Merge branch 'status_type' into doc_changes

We want to tell people to filter while browsing whenever possible,
so the filter possibilites should be available.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
document browsing usage

This example explains paging and tries to persuade the user to filter
the query whenever possible.

The example will only fetch 2 pages (168 releases).
That is bigger than the highest limit, so paging is necessary,
but won't strain the server too much when the examples are tried.

This needs the fix to filter by releases by type.
(merged in this branch)

Signed-off-by: Johannes Dewender <github@JonnyJD.net>
describe release_types and release_statuses

They can only be used in certain circumstances.

Signed-off-by: Johannes Dewender <github@JonnyJD.net>