summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngy döt Net <ingy@ingy.net>2021-09-23 13:46:48 -0700
committerIngy döt Net <ingy@ingy.net>2021-09-23 14:43:55 -0700
commitc2743653bc89e42679ba097b4f9888db47c61d63 (patch)
tree07e21fd13c1dd280241017016d0cd56f9f27e19a
parent2f87ac4838840a2e3cb48504dcd74041921ab184 (diff)
downloadpyyaml-git-c2743653bc89e42679ba097b4f9888db47c61d63.tar.gz
The yaml.load{,_all} functions require Loader= now
-rw-r--r--lib/yaml/__init__.py47
-rw-r--r--tests/lib/test_dump_load.py1
2 files changed, 5 insertions, 43 deletions
diff --git a/lib/yaml/__init__.py b/lib/yaml/__init__.py
index 86d07b5..8c71105 100644
--- a/lib/yaml/__init__.py
+++ b/lib/yaml/__init__.py
@@ -18,41 +18,12 @@ except ImportError:
import io
#------------------------------------------------------------------------------
-# Warnings control
+# XXX "Warnings control" is now deprecated. Leaving in the API function to not
+# break code that uses it.
#------------------------------------------------------------------------------
-
-# 'Global' warnings state:
-_warnings_enabled = {
- 'YAMLLoadWarning': True,
-}
-
-# Get or set global warnings' state
def warnings(settings=None):
if settings is None:
- return _warnings_enabled
-
- if type(settings) is dict:
- for key in settings:
- if key in _warnings_enabled:
- _warnings_enabled[key] = settings[key]
-
-# Warn when load() is called without Loader=...
-class YAMLLoadWarning(RuntimeWarning):
- pass
-
-def load_warning(method):
- if _warnings_enabled['YAMLLoadWarning'] is False:
- return
-
- import warnings
-
- message = (
- "calling yaml.%s() without Loader=... is deprecated, as the "
- "default Loader is unsafe. Please read "
- "https://msg.pyyaml.org/load for full details."
- ) % method
-
- warnings.warn(message, YAMLLoadWarning, stacklevel=3)
+ return {}
#------------------------------------------------------------------------------
def scan(stream, Loader=Loader):
@@ -100,30 +71,22 @@ def compose_all(stream, Loader=Loader):
finally:
loader.dispose()
-def load(stream, Loader=None):
+def load(stream, Loader):
"""
Parse the first YAML document in a stream
and produce the corresponding Python object.
"""
- if Loader is None:
- load_warning('load')
- Loader = FullLoader
-
loader = Loader(stream)
try:
return loader.get_single_data()
finally:
loader.dispose()
-def load_all(stream, Loader=None):
+def load_all(stream, Loader):
"""
Parse all YAML documents in a stream
and produce corresponding Python objects.
"""
- if Loader is None:
- load_warning('load_all')
- Loader = FullLoader
-
loader = Loader(stream)
try:
while loader.check_data():
diff --git a/tests/lib/test_dump_load.py b/tests/lib/test_dump_load.py
index 8f6e36f..f3b10b0 100644
--- a/tests/lib/test_dump_load.py
+++ b/tests/lib/test_dump_load.py
@@ -10,7 +10,6 @@ def test_load_no_loader(verbose=False):
except TypeError:
return True
assert(False, "load() require Loader=...")
-
test_load_no_loader.unittest = True
def test_load_safeloader(verbose=False):