plistlib.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. """DEPRECATED - This module is kept here only as a backward compatibility shim
  2. for the old ufoLib.plistlib module, which was moved to fontTools.misc.plistlib.
  3. Please use the latter instead.
  4. """
  5. from fontTools.misc.plistlib import dump, dumps, load, loads
  6. from fontTools.misc.textTools import tobytes
  7. # The following functions were part of the old py2-like ufoLib.plistlib API.
  8. # They are kept only for backward compatiblity.
  9. from fontTools.ufoLib.utils import deprecated
  10. @deprecated("Use 'fontTools.misc.plistlib.load' instead")
  11. def readPlist(path_or_file):
  12. did_open = False
  13. if isinstance(path_or_file, str):
  14. path_or_file = open(path_or_file, "rb")
  15. did_open = True
  16. try:
  17. return load(path_or_file, use_builtin_types=False)
  18. finally:
  19. if did_open:
  20. path_or_file.close()
  21. @deprecated("Use 'fontTools.misc.plistlib.dump' instead")
  22. def writePlist(value, path_or_file):
  23. did_open = False
  24. if isinstance(path_or_file, str):
  25. path_or_file = open(path_or_file, "wb")
  26. did_open = True
  27. try:
  28. dump(value, path_or_file, use_builtin_types=False)
  29. finally:
  30. if did_open:
  31. path_or_file.close()
  32. @deprecated("Use 'fontTools.misc.plistlib.loads' instead")
  33. def readPlistFromString(data):
  34. return loads(tobytes(data, encoding="utf-8"), use_builtin_types=False)
  35. @deprecated("Use 'fontTools.misc.plistlib.dumps' instead")
  36. def writePlistToString(value):
  37. return dumps(value, use_builtin_types=False)