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) # doctest: +NORMALIZE_WHITESPACE [('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) # doctest: +NORMALIZE_WHITESPACE [('json', [<class 'anyconfig.processors.A'>, <class 'anyconfig.processors.A2'>]), ('yaml', [<class 'anyconfig.processors.B'>]), ('yml', [<class 'anyconfig.processors.B'>])]