anyconfig.processors
¶
Abstract processor module.
-
New in version 0.9.5:
Add to abstract processors such like Parsers (loaders and dumpers).
-
class
anyconfig.processors.
Processor
¶ Bases:
object
Abstract processor class to provide basic implementation of some methods, interfaces and members.
- _type: type indicates data types it can process
- _priority: Priority to select it if there are others of same type
- _extensions: File extensions of data type it can process
-
classmethod
type
()¶ Processors’ type
-
classmethod
priority
()¶ Processors’s priority
-
classmethod
extensions
()¶ File extensions which this process can process
-
anyconfig.processors.
load_plugins
(pgroup, safe=True)¶ Parameters: - pgroup – A string represents plugin type, e.g. anyconfig_backends
- safe – Do not raise ImportError during load if True
Raises: ImportError
-
anyconfig.processors.
list_processors_by_type
(prs)¶ Parameters: prs – A list of instances of Processor
Returns: List (generator) of (processor_type, [processor_cls]) >>> class A(Processor): ... _type = "a" >>> class A2(A): ... _priority = 2 >>> class B(Processor): ... _type = "b" >>> g = list_processors_by_type([B, A2, A]) >>> list(g) [('a', [<class 'anyconfig.processors.A'>, <class 'anyconfig.processors.A2'>]), ('b', [<class 'anyconfig.processors.B'>])]
-
anyconfig.processors.
list_processors_by_ext
(prs)¶ Parameters: prs – A list of instances of Processor
Returns: List (generator) of (file_extension, [processor_cls]) >>> class A(Processor): ... _extensions = ['json'] >>> class A2(A): ... _priority = 2 >>> class B(Processor): ... _extensions = ['yaml', 'yml'] >>> g = list_processors_by_ext([B, A2, A]) >>> list(g) [('json', [<class 'anyconfig.processors.A'>, <class 'anyconfig.processors.A2'>]), ('yaml', [<class 'anyconfig.processors.B'>]), ('yml', [<class 'anyconfig.processors.B'>])]