Source code for eyed3.plugins.yamltag

import eyed3.plugins
from eyed3 import log
from eyed3.plugins.jsontag import audioFileToJson

try:
    import yaml as _yaml
except ImportError:
    _yaml = None
    log.info("yaml plugin: Install `PyYAML` for YAML plugin support.")


if _yaml:
[docs] class YamlTagPlugin(eyed3.plugins.LoaderPlugin): NAMES = ["yaml"] SUMMARY = "Outputs all tags as YAML." def __init__(self, arg_parser): super().__init__(arg_parser, cache_files=True, track_images=False)
[docs] def handleFile(self, f, *args, **kwargs): super().handleFile(f) if self.audio_file and self.audio_file.info and self.audio_file.tag: print(_yaml.safe_dump(audioFileToJson(self.audio_file), indent=2, default_flow_style=False, explicit_start=True))