docs: Remove extension support implementation plan
This commit is contained in:
parent
a543a01675
commit
0052dbeb0d
@ -329,62 +329,3 @@ all your custom GStreamer elements.
|
|||||||
|
|
||||||
For examples of custom GStreamer elements implemented in Python, see
|
For examples of custom GStreamer elements implemented in Python, see
|
||||||
:mod:`mopidy.audio.mixers`.
|
:mod:`mopidy.audio.mixers`.
|
||||||
|
|
||||||
|
|
||||||
Implementation steps
|
|
||||||
====================
|
|
||||||
|
|
||||||
A rough plan of how to make the above document the reality of how Mopidy
|
|
||||||
extensions work.
|
|
||||||
|
|
||||||
1. Implement :class:`mopidy.utils.ext.Extension` base class and the
|
|
||||||
:exc:`mopidy.exceptions.ExtensionError` exception class.
|
|
||||||
|
|
||||||
2. Switch from using distutils to setuptools to package and install Mopidy so
|
|
||||||
that we can register entry points for the bundled extensions and get
|
|
||||||
information about all extensions available on the system from
|
|
||||||
:mod:`pkg_resources`.
|
|
||||||
|
|
||||||
3. Add :class:`Extension` classes for all existing frontends and backends. Skip
|
|
||||||
any default config and config validation for now.
|
|
||||||
|
|
||||||
4. Add entry points for the existing extensions in the ``setup.py`` file.
|
|
||||||
|
|
||||||
5. Rewrite the startup procedure to find extensions and thus frontends and
|
|
||||||
backends via :mod:`pkg_resouces` instead of the ``FRONTENDS`` and
|
|
||||||
``BACKENDS`` settings.
|
|
||||||
|
|
||||||
6. Remove the ``FRONTENDS`` and ``BACKENDS`` settings.
|
|
||||||
|
|
||||||
7. Add default config files and config validation to all existing extensions.
|
|
||||||
|
|
||||||
8. Switch to ini file based configuration, using :mod:`ConfigParser`. The
|
|
||||||
default config is the combination of a core config file plus the config from
|
|
||||||
each installed extension. To find the effective config for the system, the
|
|
||||||
following config sources are added together, with the later ones overriding
|
|
||||||
the earlier ones:
|
|
||||||
|
|
||||||
- the default config built from Mopidy core and all installed extensions,
|
|
||||||
|
|
||||||
- ``/etc/mopidy/mopidy.conf``,
|
|
||||||
|
|
||||||
- ``~/.config/mopidy/mopidy.conf``,
|
|
||||||
|
|
||||||
- any config file provided via command line arguments, and
|
|
||||||
|
|
||||||
- any config values provided via command line arguments.
|
|
||||||
|
|
||||||
9. Replace all use of ``mopidy.settings`` with the new config object.
|
|
||||||
|
|
||||||
10. Add command line options for:
|
|
||||||
|
|
||||||
- loading an additional config file for this execution of Mopidy,
|
|
||||||
|
|
||||||
- setting a config value for this execution of Mopidy,
|
|
||||||
|
|
||||||
- printing the effective config and exit, and
|
|
||||||
|
|
||||||
- write a config value permanently to ``~/.config/mopidy/mopidy.conf``, or
|
|
||||||
``/etc/mopidy/mopidy.conf`` if root, and exit.
|
|
||||||
|
|
||||||
11. Reimplement ``--list-deps`` based upon information provided by extensions.
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user