numbers-parser 4.10.4__py3-none-any.whl → 4.10.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- numbers_parser/__init__.py +1 -1
- numbers_parser/_cat_numbers.py +4 -4
- numbers_parser/_unpack_numbers.py +5 -5
- numbers_parser/cell.py +119 -119
- numbers_parser/constants.py +5 -6
- numbers_parser/containers.py +11 -8
- numbers_parser/document.py +135 -113
- numbers_parser/exceptions.py +0 -7
- numbers_parser/formula.py +3 -4
- numbers_parser/generated/TNArchives_pb2.py +24 -26
- numbers_parser/generated/TSAArchives_pb2.py +26 -28
- numbers_parser/generated/TSCEArchives_pb2.py +8 -10
- numbers_parser/generated/TSCHArchives_GEN_pb2.py +28 -34
- numbers_parser/generated/TSCHArchives_pb2.py +61 -65
- numbers_parser/generated/TSDArchives_pb2.py +100 -110
- numbers_parser/generated/TSKArchives_pb2.py +168 -170
- numbers_parser/generated/TSPArchiveMessages_pb2.py +32 -34
- numbers_parser/generated/TSPMessages_pb2.py +40 -40
- numbers_parser/generated/TSSArchives_pb2.py +36 -36
- numbers_parser/generated/TSTArchives_pb2.py +321 -325
- numbers_parser/generated/TSTStylePropertyArchiving_pb2.py +8 -10
- numbers_parser/generated/TSWPArchives_pb2.py +250 -286
- numbers_parser/generated/TSWPCommandArchives_pb2.py +95 -95
- numbers_parser/iwafile.py +16 -16
- numbers_parser/iwork.py +35 -29
- numbers_parser/model.py +64 -52
- numbers_parser/numbers_uuid.py +6 -4
- {numbers_parser-4.10.4.dist-info → numbers_parser-4.10.5.dist-info}/METADATA +7 -7
- {numbers_parser-4.10.4.dist-info → numbers_parser-4.10.5.dist-info}/RECORD +32 -32
- {numbers_parser-4.10.4.dist-info → numbers_parser-4.10.5.dist-info}/LICENSE.rst +0 -0
- {numbers_parser-4.10.4.dist-info → numbers_parser-4.10.5.dist-info}/WHEEL +0 -0
- {numbers_parser-4.10.4.dist-info → numbers_parser-4.10.5.dist-info}/entry_points.txt +0 -0
numbers_parser/__init__.py
CHANGED
|
@@ -37,7 +37,7 @@ def _check_installed_numbers_version():
|
|
|
37
37
|
installed_version = re.sub(r"(\d+)\.(\d+)\.\d+", r"\1.\2", installed_version)
|
|
38
38
|
if installed_version not in SUPPORTED_NUMBERS_VERSIONS:
|
|
39
39
|
warnings.warn(
|
|
40
|
-
f"Numbers version {installed_version} not tested with this version", stacklevel=2
|
|
40
|
+
f"Numbers version {installed_version} not tested with this version", stacklevel=2,
|
|
41
41
|
)
|
|
42
42
|
fp.close()
|
|
43
43
|
return installed_version
|
numbers_parser/_cat_numbers.py
CHANGED
|
@@ -15,7 +15,7 @@ logger = logging.getLogger(numbers_parser_name)
|
|
|
15
15
|
|
|
16
16
|
def command_line_parser():
|
|
17
17
|
parser = argparse.ArgumentParser(
|
|
18
|
-
description="Export data from Apple Numbers spreadsheet tables"
|
|
18
|
+
description="Export data from Apple Numbers spreadsheet tables",
|
|
19
19
|
)
|
|
20
20
|
commands = parser.add_mutually_exclusive_group()
|
|
21
21
|
commands.add_argument(
|
|
@@ -49,15 +49,15 @@ def command_line_parser():
|
|
|
49
49
|
help="Dump formatted cells (durations) as they appear in Numbers",
|
|
50
50
|
)
|
|
51
51
|
parser.add_argument(
|
|
52
|
-
"-s", "--sheet", action="append", help="Names of sheet(s) to include in export"
|
|
52
|
+
"-s", "--sheet", action="append", help="Names of sheet(s) to include in export",
|
|
53
53
|
)
|
|
54
54
|
parser.add_argument(
|
|
55
|
-
"-t", "--table", action="append", help="Names of table(s) to include in export"
|
|
55
|
+
"-t", "--table", action="append", help="Names of table(s) to include in export",
|
|
56
56
|
)
|
|
57
57
|
parser.add_argument("document", nargs="*", help="Document(s) to export")
|
|
58
58
|
parser.add_argument("--debug", default=False, action="store_true", help="Enable debug logging")
|
|
59
59
|
parser.add_argument(
|
|
60
|
-
"--experimental", default=False, action="store_true", help=argparse.SUPPRESS
|
|
60
|
+
"--experimental", default=False, action="store_true", help=argparse.SUPPRESS,
|
|
61
61
|
)
|
|
62
62
|
return parser
|
|
63
63
|
|
|
@@ -69,7 +69,7 @@ class NumbersUnpacker(IWorkHandler):
|
|
|
69
69
|
"""Ensure that a path's directory exists."""
|
|
70
70
|
parts = os.path.split(path)
|
|
71
71
|
with contextlib.suppress(OSError):
|
|
72
|
-
os.makedirs(os.path.join(*([self.output_dir
|
|
72
|
+
os.makedirs(os.path.join(*([self.output_dir, *list(parts[:-1])])))
|
|
73
73
|
|
|
74
74
|
def prettify_uuids(self, obj: object):
|
|
75
75
|
if isinstance(obj, dict):
|
|
@@ -110,12 +110,12 @@ class NumbersUnpacker(IWorkHandler):
|
|
|
110
110
|
|
|
111
111
|
def allowed_format(self, extension: str) -> bool:
|
|
112
112
|
"""bool: Return ``True`` if the filename extension is supported by the handler."""
|
|
113
|
-
return
|
|
113
|
+
return extension == ".numbers"
|
|
114
114
|
|
|
115
115
|
def allowed_version(self, version: str) -> bool:
|
|
116
116
|
"""bool: Return ``True`` if the document version is allowed."""
|
|
117
117
|
version = re.sub(r"(\d+)\.(\d+)\.\d+", r"\1.\2", version)
|
|
118
|
-
return
|
|
118
|
+
return version in SUPPORTED_NUMBERS_VERSIONS
|
|
119
119
|
|
|
120
120
|
|
|
121
121
|
def main():
|
|
@@ -125,7 +125,7 @@ def main():
|
|
|
125
125
|
parser.add_argument("--hex-uuids", action="store_true", help="print UUIDs as hex")
|
|
126
126
|
parser.add_argument("--pretty-storage", action="store_true", help="pretty print cell storage")
|
|
127
127
|
parser.add_argument(
|
|
128
|
-
"--compact-json", action="store_true", help="Format JSON compactly as possible"
|
|
128
|
+
"--compact-json", action="store_true", help="Format JSON compactly as possible",
|
|
129
129
|
)
|
|
130
130
|
parser.add_argument("--pretty", action="store_true", help="Enable all prettifying options")
|
|
131
131
|
parser.add_argument("--output", "-o", help="directory name to unpack into")
|
|
@@ -159,7 +159,7 @@ def main():
|
|
|
159
159
|
pretty_storage=args.pretty_storage,
|
|
160
160
|
compact_json=args.compact_json,
|
|
161
161
|
output_dir=args.output,
|
|
162
|
-
)
|
|
162
|
+
),
|
|
163
163
|
)
|
|
164
164
|
iwork.open(Path(document))
|
|
165
165
|
except (FileFormatError, FileError) as e:
|