Skip to content

Commit

Permalink
Move load() and load_all() methods to BaseLoader from BaseConstructor
Browse files Browse the repository at this point in the history
  • Loading branch information
ingydotnet committed Sep 26, 2021
1 parent d6bb6cf commit 2495a71
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 33 deletions.
29 changes: 0 additions & 29 deletions lib/yaml/constructor.py
Expand Up @@ -39,35 +39,6 @@ def __init__(self):
self.state_generators = []
self.deep_construct = False

def load(self, stream):
self._init_loader(stream)

try:
return self.get_single_data()
finally:
self.dispose()
self.stream = None

def load_all(self, stream):
assert False, 'XXX Not working yet'

self._init_loader(stream)

try:
while self.check_data():
yield self.get_data()
finally:
self.dispose()

def _init_loader(self, stream):
if hasattr(self, 'stream') and self.stream is None:
if stream is None:
raise TypeError("load() requires stream=...")
Reader.__init__(self, stream)
Scanner.__init__(self)
Parser.__init__(self)
Composer.__init__(self)

def check_data(self):
# If there are more documents available?
return self.check_node()
Expand Down
37 changes: 33 additions & 4 deletions lib/yaml/loader.py
Expand Up @@ -18,7 +18,36 @@ def __init__(self, stream=None):
BaseConstructor.__init__(self)
BaseResolver.__init__(self)

class FullLoader(Reader, Scanner, Parser, Composer, FullConstructor, Resolver):
def load(self, stream):
self._init_loader(stream)

try:
return self.get_single_data()
finally:
self.dispose()
self.stream = None

def load_all(self, stream):
assert False, 'XXX Not working yet'

self._init_loader(stream)

try:
while self.check_data():
yield self.get_data()
finally:
self.dispose()

def _init_loader(self, stream):
if hasattr(self, 'stream') and self.stream is None:
if stream is None:
raise TypeError("load() requires stream=...")
Reader.__init__(self, stream)
Scanner.__init__(self)
Parser.__init__(self)
Composer.__init__(self)

class FullLoader(BaseLoader, Reader, Scanner, Parser, Composer, FullConstructor, Resolver):

def __init__(self, stream=None):
Reader.__init__(self, stream)
Expand All @@ -28,7 +57,7 @@ def __init__(self, stream=None):
FullConstructor.__init__(self)
Resolver.__init__(self)

class SafeLoader(Reader, Scanner, Parser, Composer, SafeConstructor, Resolver):
class SafeLoader(BaseLoader, Reader, Scanner, Parser, Composer, SafeConstructor, Resolver):

def __init__(self, stream=None):
Reader.__init__(self, stream)
Expand All @@ -38,7 +67,7 @@ def __init__(self, stream=None):
SafeConstructor.__init__(self)
Resolver.__init__(self)

class Loader(Reader, Scanner, Parser, Composer, Constructor, Resolver):
class Loader(BaseLoader, Reader, Scanner, Parser, Composer, Constructor, Resolver):

def __init__(self, stream=None):
Reader.__init__(self, stream)
Expand All @@ -52,7 +81,7 @@ def __init__(self, stream=None):
# 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):
class UnsafeLoader(BaseLoader, Reader, Scanner, Parser, Composer, Constructor, Resolver):

def __init__(self, stream=None):
Reader.__init__(self, stream)
Expand Down

0 comments on commit 2495a71

Please sign in to comment.