diff options
author | Anton Khirnov <anton@khirnov.net> | 2020-11-20 09:26:40 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2020-11-20 09:29:56 +0100 |
commit | f55a44acf4c65e6e7534813b09f9b5b50e5796a6 (patch) | |
tree | 9bf6759d1a837631e88ea9b22c4c6c7de3c7075e /yaml/loader.py | |
parent | 38c78bd3c33068902347208bb15ad49b65570e9c (diff) |
Include pyaml directly, not as a submodule.
Its repository is quite big and contains infrastructure we do not need.
We should not need to update it, so just include the source directly.
Also, simplify bin/dotbot.
Diffstat (limited to 'yaml/loader.py')
-rw-r--r-- | yaml/loader.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/yaml/loader.py b/yaml/loader.py new file mode 100644 index 0000000..e90c112 --- /dev/null +++ b/yaml/loader.py @@ -0,0 +1,63 @@ + +__all__ = ['BaseLoader', 'FullLoader', 'SafeLoader', 'Loader', 'UnsafeLoader'] + +from .reader import * +from .scanner import * +from .parser import * +from .composer import * +from .constructor import * +from .resolver import * + +class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, BaseResolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + BaseConstructor.__init__(self) + BaseResolver.__init__(self) + +class FullLoader(Reader, Scanner, Parser, Composer, FullConstructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + FullConstructor.__init__(self) + Resolver.__init__(self) + +class SafeLoader(Reader, Scanner, Parser, Composer, SafeConstructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + SafeConstructor.__init__(self) + Resolver.__init__(self) + +class Loader(Reader, Scanner, Parser, Composer, Constructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + Constructor.__init__(self) + Resolver.__init__(self) + +# UnsafeLoader is the same as Loader (which is and was always unsafe on +# untrusted input). Use of either Loader or UnsafeLoader should be rare, since +# FullLoad should be able to load almost all YAML safely. Loader is left intact +# to ensure backwards compatibility. +class UnsafeLoader(Reader, Scanner, Parser, Composer, Constructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + Constructor.__init__(self) + Resolver.__init__(self) |