codekingpro/portable-devtools
114k
1 2from __future__ import annotations3 4from ruamel.yaml.reader import Reader5from ruamel.yaml.scanner import Scanner, RoundTripScanner6from ruamel.yaml.parser import Parser, RoundTripParser7from ruamel.yaml.composer import Composer8from ruamel.yaml.constructor import (9 BaseConstructor,10 SafeConstructor,11 Constructor,12 RoundTripConstructor,13)14from ruamel.yaml.resolver import VersionedResolver15 16if False: # MYPY17 from typing import Any, Dict, List, Union, Optional # NOQA18 from ruamel.yaml.compat import StreamTextType, VersionType # NOQA19 20__all__ = ['BaseLoader', 'SafeLoader', 'Loader', 'RoundTripLoader']21 22 23class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, VersionedResolver):24 def __init__(25 self,26 stream: StreamTextType,27 version: Optional[VersionType] = None,28 preserve_quotes: Optional[bool] = None,29 ) -> None:30 self.comment_handling = None31 Reader.__init__(self, stream, loader=self)32 Scanner.__init__(self, loader=self)33 Parser.__init__(self, loader=self)34 Composer.__init__(self, loader=self)35 BaseConstructor.__init__(self, loader=self)36 VersionedResolver.__init__(self, version, loader=self)37 38 39class SafeLoader(Reader, Scanner, Parser, Composer, SafeConstructor, VersionedResolver):40 def __init__(41 self,42 stream: StreamTextType,43 version: Optional[VersionType] = None,44 preserve_quotes: Optional[bool] = None,45 ) -> None:46 self.comment_handling = None47 Reader.__init__(self, stream, loader=self)48 Scanner.__init__(self, loader=self)49 Parser.__init__(self, loader=self)50 Composer.__init__(self, loader=self)51 SafeConstructor.__init__(self, loader=self)52 VersionedResolver.__init__(self, version, loader=self)53 54 55class Loader(Reader, Scanner, Parser, Composer, Constructor, VersionedResolver):56 def __init__(57 self,58 stream: StreamTextType,59 version: Optional[VersionType] = None,60 preserve_quotes: Optional[bool] = None,61 ) -> None:62 self.comment_handling = None63 Reader.__init__(self, stream, loader=self)64 Scanner.__init__(self, loader=self)65 Parser.__init__(self, loader=self)66 Composer.__init__(self, loader=self)67 Constructor.__init__(self, loader=self)68 VersionedResolver.__init__(self, version, loader=self)69 70 71class RoundTripLoader(72 Reader,73 RoundTripScanner,74 RoundTripParser,75 Composer,76 RoundTripConstructor,77 VersionedResolver,78):79 def __init__(80 self,81 stream: StreamTextType,82 version: Optional[VersionType] = None,83 preserve_quotes: Optional[bool] = None,84 ) -> None:85 # self.reader = Reader.__init__(self, stream)86 self.comment_handling = None # issue 38587 Reader.__init__(self, stream, loader=self)88 RoundTripScanner.__init__(self, loader=self)89 RoundTripParser.__init__(self, loader=self)90 Composer.__init__(self, loader=self)91 RoundTripConstructor.__init__(self, preserve_quotes=preserve_quotes, loader=self)92 VersionedResolver.__init__(self, version, loader=self)93 