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).
None
values 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
, andon
with any casing asTrue
.Accepts
0
,no
,false
, andoff
with 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).
None
values 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_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)[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
value
is one of thechoices
.Normally called in
deserialize()
.- Return type:
- mopidy.config.validators.validate_maximum(value, maximum) None [source]
Validate that
value
is at mostmaximum
.Normally called in
deserialize()
.- Return type:
- mopidy.config.validators.validate_minimum(value, minimum) None [source]
Validate that
value
is at leastminimum
.Normally called in
deserialize()
.- Return type:
- mopidy.config.validators.validate_required(value, required) None [source]
Validate that
value
is set ifrequired
.Normally called in
deserialize()
on the raw string, _not_ the converted value.- Return type: