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