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
|
||||
: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