metadata.py 770 B

123456789101112131415161718192021222324252627282930313233
  1. from os import stat
  2. class Metadata:
  3. def __init__(self):
  4. self.__data = {}
  5. def get_value(self, field_name):
  6. if(field_name in self.__data):
  7. return self.__data[field_name]
  8. else:
  9. return None
  10. def set_value(self, field_name, value):
  11. self.__data[field_name] = value
  12. @staticmethod
  13. def from_string(string):
  14. entries = string.split("\n")[:-1]
  15. data = {x[0]: x[1] for x in (y.split(": ") for y in entries)}
  16. metadata = Metadata()
  17. metadata.__data = data
  18. return metadata
  19. def __str__(self) -> str:
  20. data = ""
  21. print(self.__data)
  22. for key, value in self.__data.items():
  23. data += "{}: {}\n".format(key, value)
  24. return data