mopidy.config — Config API

class mopidy.config.ConfigValue[source]

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)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.Float(minimum=None, maximum=None, optional=False)[source]

Float value.

deserialize(value)[source]

Cast raw string to appropriate type.

class mopidy.config.List(optional=False, unique=False, subtype=None)[source]

List value.

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

Enforcing unique entries in the list will result in a set data structure being used. This does not preserve ordering, which could result in the serialized output being unstable.

deserialize(value)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.Pair(optional=False, optional_pair=False, separator='|', subtypes=None)[source]

Pair value

The value is expected to be a pair of elements, separated by a specified delimiter. Values can optionally not be a pair, in which case the whole input is provided for both sides of the value.

deserialize(value)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

Config section schemas

class mopidy.config.schemas.ConfigSchema(name)[source]

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)[source]

Validates the given values using the config schema.

Returns a tuple with cleaned values and errors.

serialize(values, display=False)[source]

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)[source]

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)[source]

Boolean value.

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

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

deserialize(value)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.types.ConfigValue[source]

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)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.types.Deprecated[source]

Deprecated value.

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

deserialize(value)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.types.Float(minimum=None, maximum=None, optional=False)[source]

Float value.

deserialize(value)[source]

Cast raw string to appropriate type.

class mopidy.config.types.Hostname(optional=False)[source]

Network hostname value.

deserialize(value, display=False)[source]

Cast raw string to appropriate type.

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

Integer value.

deserialize(value)[source]

Cast raw string to appropriate type.

class mopidy.config.types.List(optional=False, unique=False, subtype=None)[source]

List value.

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

Enforcing unique entries in the list will result in a set data structure being used. This does not preserve ordering, which could result in the serialized output being unstable.

deserialize(value)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.types.LogColor[source]
deserialize(value)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.types.LogLevel[source]

Log level value.

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

deserialize(value)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.types.Pair(optional=False, optional_pair=False, separator='|', subtypes=None)[source]

Pair value

The value is expected to be a pair of elements, separated by a specified delimiter. Values can optionally not be a pair, in which case the whole input is provided for both sides of the value.

deserialize(value)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.types.Path(optional=False)[source]

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

deserialize(value)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.types.Port(choices=None, optional=False)[source]

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, transformer=None)[source]

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.

serialize(value, display=False)[source]

Convert value back to string for saving.

class mopidy.config.types.String(optional=False, choices=None, transformer=None)[source]

String value.

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

deserialize(value)[source]

Cast raw string to appropriate type.

serialize(value, display=False)[source]

Convert value back to string for saving.

Config value validators

mopidy.config.validators.validate_choice(value, choices)[source]

Validate that value is one of the choices

Normally called in deserialize().

mopidy.config.validators.validate_maximum(value, maximum)[source]

Validate that value is at most maximum

Normally called in deserialize().

mopidy.config.validators.validate_minimum(value, minimum)[source]

Validate that value is at least minimum

Normally called in deserialize().

mopidy.config.validators.validate_required(value, required)[source]

Validate that value is set if required

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