Config API — Mopidy 1.0.8 documentation

# Config API

`mopidy.config.` `read`(config_file)

  Helper to load config defaults in same way across core and extensions

## Config section schemas

class `mopidy.config.schemas.` `ConfigSchema`(name)

  Logical group of config values that correspond to a config section.

  Schemas are set up by assigning config keys with config values to instances. Once setup `deserialize()` can be called with a dict of values to process. For convienience we also support `format()` method that can used for converting the values to a dict that can be printed and `serialize()` for converting the values to a form suitable for persistence.

  `deserialize`(values)

    Validates the given `values` using the config schema.

    Returns a tuple with cleaned values and errors.

  `serialize`(values, display=False)

    Converts the given `values` to a format suitable for persistence.

    If `display` is `True` secret config values, like passwords, will be masked out.

    Returns a dict of config keys and values.

class `mopidy.config.schemas.` `MapConfigSchema`(name, value_type)

  Schema for handling multiple unknown keys with the same type.

  Does not sub-class `ConfigSchema`, but implements the same serialize/deserialize interface.

## Config value types

class `mopidy.config.types.` `Boolean`(optional=False)

  Boolean value.

  Accepts `1`, `yes`, `true`, and `on` with any casing as `True`.

  Accepts `0`, `no`, `false`, and `off` with any casing as `False`.

class `mopidy.config.types.` `ConfigValue`

  Represents a config key’s value and how to handle it.

  Normally you will only be interacting with sub-classes for config values that encode either deserialization behavior and/or validation.

  Each config value should be used for the following actions:

  1. Deserializing from a raw string and validating, raising ValueError on failure.
  2. Serializing a value back to a string that can be stored in a config.
  3. Formatting a value to a printable form (useful for masking secrets).

  `None` values should not be deserialized, serialized or formatted, the code interacting with the config should simply skip None config values.

  `deserialize`(value)

    Cast raw string to appropriate type.

  `serialize`(value, display=False)

    Convert value back to string for saving.

class `mopidy.config.types.` `Deprecated`

  Deprecated value

  Used for ignoring old config values that are no longer in use, but should not cause the config parser to crash.

class `mopidy.config.types.` `Hostname`(optional=False)

  Network hostname value.

class `mopidy.config.types.` `Integer`(minimum=None, maximum=None, choices=None, optional=False)

  Integer value.

class `mopidy.config.types.` `List`(optional=False)

  List value.

  Supports elements split by commas or newlines. Newlines take presedence and empty list items will be filtered out.

class `mopidy.config.types.` `LogLevel`

  Log level value.

  Expects one of `critical`, `error`, `warning`, `info`, `debug`, or `all`, with any casing.

class `mopidy.config.types.` `Path`(optional=False)

  File system path

  The following expansions of the path will be done:

  - `~` to the current user’s home directory
  - `$XDG_CACHE_DIR` according to the XDG spec
  - `$XDG_CONFIG_DIR` according to the XDG spec
  - `$XDG_DATA_DIR` according to the XDG spec
  - `$XDG_MUSIC_DIR` according to the XDG spec

class `mopidy.config.types.` `Port`(choices=None, optional=False)

  Network port value.

  Expects integer in the range 0-65535, zero tells the kernel to simply allocate a port for us.

class `mopidy.config.types.` `Secret`(optional=False, choices=None)

  Secret string value.

  Is decoded as utf-8 and n t escapes should work and be preserved.

  Should be used for passwords, auth tokens etc. Will mask value when being displayed.

class `mopidy.config.types.` `String`(optional=False, choices=None)

  String value.

  Is decoded as utf-8 and n t escapes should work and be preserved.

## Config value validators

`mopidy.config.validators.` `validate_choice`(value, choices)

  Validate that `value` is one of the `choices`

  Normally called in `deserialize()`.

`mopidy.config.validators.` `validate_maximum`(value, maximum)

  Validate that `value` is at most `maximum`

  Normally called in `deserialize()`.

`mopidy.config.validators.` `validate_minimum`(value, minimum)

  Validate that `value` is at least `minimum`

  Normally called in `deserialize()`.

`mopidy.config.validators.` `validate_required`(value, required)

  Validate that `value` is set if `required`

  Normally called in `deserialize()` on the raw string, _not_ the converted value.