Source code for lodstorage.yamlablemixin

#!/usr/bin/python3
# part of https://github.com/WolfgangFahl/ProceedingsTitleParser

import io
import os

# Yaml persistence
import yaml


[docs] class YamlAbleMixin(object): """allow reading and writing derived objects from a yaml file""" debug = False # read me from a yaml file
[docs] @staticmethod def readYaml(name): yamlFile = name if not yamlFile.endswith(".yaml"): yamlFile = yamlFile + ".yaml" # is there a yamlFile for the given name if os.path.isfile(yamlFile): with io.open(yamlFile, "r") as stream: if YamlAbleMixin.debug: print("reading %s" % (yamlFile)) result = yaml.load(stream, Loader=yaml.Loader) if YamlAbleMixin.debug: print(result) return result else: return None
# write me to my yaml file
[docs] def writeYaml(self, name): yamlFile = name if not yamlFile.endswith(".yaml"): yamlFile = yamlFile + ".yaml" with io.open(yamlFile, "w", encoding="utf-8") as stream: yaml.dump(self, stream) if YamlAbleMixin.debug: print(yaml.dump(self))