plistlib.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. """DEPRECATED - This module is kept here only as a backward compatibility shim
  2. for the old `ufoLib.plistlib` module, which was moved to :class:`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)