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:
Deserializing from a raw string and validating, raising ValueError on failure.
Serializing a value back to a string that can be stored in a config.
Formatting a value to a printable form (useful for masking secrets).
Nonevalues should not be deserialized, serialized or formatted, the code interacting with the config should simply skip None config values.
- class mopidy.config.List(optional=False, unique=False, subtype=<mopidy.config.types.String object>) 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.
- class mopidy.config.Pair(optional=False, optional_pair=False, separator='|', subtypes=(<mopidy.config.types.String object>, <mopidy.config.types.String object>)) 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.
Config section schemas
- class mopidy.config.schemas.ConfigSchema(name) None[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 supportformat()method that can used for converting the values to a dict that can be printed andserialize()for converting the values to a form suitable for persistence.
- class mopidy.config.schemas.MapConfigSchema(name, value_type) None[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) None[source]
Boolean value.
Accepts
1,yes,true, andonwith any casing asTrue.Accepts
0,no,false, andoffwith any casing asFalse.
- 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:
Deserializing from a raw string and validating, raising ValueError on failure.
Serializing a value back to a string that can be stored in a config.
Formatting a value to a printable form (useful for masking secrets).
Nonevalues should not be deserialized, serialized or formatted, the code interacting with the config should simply skip None config values.
- 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.
- class mopidy.config.types.Float(minimum=None, maximum=None, optional=False) None[source]
Float value.
- class mopidy.config.types.Integer(minimum=None, maximum=None, choices=None, optional=False) None[source]
Integer value.
- class mopidy.config.types.List(optional=False, unique=False, subtype=<mopidy.config.types.String object>) 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.
- class mopidy.config.types.LogColor[source]
- class mopidy.config.types.LogLevel[source]
Log level value.
Expects one of
critical,error,warning,info,debug,trace, orall, with any casing.
- class mopidy.config.types.Pair(optional=False, optional_pair=False, separator='|', subtypes=(<mopidy.config.types.String object>, <mopidy.config.types.String object>)) 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.
- 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_DIRaccording to the XDG spec$XDG_CONFIG_DIRaccording to the XDG spec$XDG_DATA_DIRaccording to the XDG spec$XDG_MUSIC_DIRaccording to the XDG spec
- 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) None[source]
Secret string value.
Is decoded as utf-8, and n and t escapes should work and be preserved.
Should be used for passwords, auth tokens etc. Will mask value when being displayed.
Config value validators
- mopidy.config.validators.validate_choice(value, choices) None[source]
Validate that
valueis one of thechoices.Normally called in
deserialize().- Return type:
- mopidy.config.validators.validate_maximum(value, maximum) None[source]
Validate that
valueis at mostmaximum.Normally called in
deserialize().- Return type:
- mopidy.config.validators.validate_minimum(value, minimum) None[source]
Validate that
valueis at leastminimum.Normally called in
deserialize().- Return type:
- mopidy.config.validators.validate_required(value, required) None[source]
Validate that
valueis set ifrequired.Normally called in
deserialize()on the raw string, _not_ the converted value.- Return type: