Open mgorny opened 1 year ago
And the safe_dump warning is now an error:
=============================================================== FAILURES ================================================================
____________________________________________________________ testYamlPlugin _____________________________________________________________
audiofile = <eyed3.mp3.Mp3AudioFile object at 0x7ed97c4fa0f0>
def testYamlPlugin(audiofile):
_initTag(audiofile)
omap, omap_list = "", " "
if sys.version_info[:2] <= (3, 7):
omap = " !!omap"
omap_list = "- "
> _assertFormat("yaml", audiofile, f"""
---
_eyeD3: %(version)s
album: Suffer
artist: Bad Religion
best_release_date: '1988'
info:
size_bytes: %(size_bytes)d
time_secs: 10.68
path: %(path)s
recording_date: '1987'
release_date: '1988'
title: Suffer
track_num:{omap}
{omap_list}count: 9 10:46:56 [40/856]
{omap_list}total: 15
""")
tests/test_jsonyaml_plugin.py:69:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_jsonyaml_plugin.py:30: in _assertFormat
output = _runPlugin(audio_file, plugin)
tests/test_jsonyaml_plugin.py:22: in _runPlugin
assert main.main(args, config) == 0
eyed3/main.py:41: in main
eyed3.utils.walk(args.plugin, p, excludes=args.excludes, fs_encoding=args.fs_encoding,
eyed3/utils/__init__.py:71: in walk
handler.handleFile(os.path.abspath(path))
eyed3/plugins/yamltag.py:29: in handleFile
print(yaml.safe_dump(audioFileToJson(self.audio_file),
/usr/lib/python3.12/site-packages/ruamel/yaml/main.py:1260: in safe_dump
error_deprecation('safe_dump', 'dump', arg="typ='safe', pure=True")
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
fun = 'safe_dump', method = 'dump', arg = "typ='safe', pure=True", comment = 'instead of'
def error_deprecation(fun: Any, method: Any, arg: str = '', comment: str = 'instead of') -> None: # NOQA
import inspect
s = f'\n"{fun}()" has been removed, use\n\n yaml = YAML({arg})\n yaml.{method}(...)\n\n{comment}' # NOQA
try:
info = inspect.getframeinfo(inspect.stack()[2][0])
context = '' if info.code_context is None else "".join(info.code_context)
s += f' file "{info.filename}", line {info.lineno}\n\n{context}'
except Exception as e:
_ = e
s += '\n'
if sys.version_info < (3, 10):
raise AttributeError(s)
else:
> raise AttributeError(s, name=None)
E AttributeError:
E "safe_dump()" has been removed, use
E
E yaml = YAML(typ='safe', pure=True)
E yaml.dump(...)
E
E instead of file "/home/mark/.cache/paru/clone/python-eyed3/src/eyeD3-0.9.7/eyed3/plugins/yamltag.py", line 29
E
E print(yaml.safe_dump(audioFileToJson(self.audio_file),
/usr/lib/python3.12/site-packages/ruamel/yaml/main.py:1039: AttributeError
After upgrading
ruamel.yaml
to 0.17.26 (possibly older versions), the formatting changes and causes the test suite to fail: