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=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=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)[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)[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, 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.Integer(minimum=None, maximum=None, choices=None, optional=False)[source]
Integer value.
- 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.
- 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=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)[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.
Config value validators
- mopidy.config.validators.validate_choice(value, choices)[source]
Validate that
valueis one of thechoicesNormally called in
deserialize().
- mopidy.config.validators.validate_maximum(value, maximum)[source]
Validate that
valueis at mostmaximumNormally called in
deserialize().
- mopidy.config.validators.validate_minimum(value, minimum)[source]
Validate that
valueis at leastminimumNormally called in
deserialize().
- mopidy.config.validators.validate_required(value, required)[source]
Validate that
valueis set ifrequiredNormally called in
deserialize()on the raw string, _not_ the converted value.