numbers-parser 4.10.5__tar.gz → 4.11.2__tar.gz
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-4.10.5 → numbers_parser-4.11.2}/PKG-INFO +3 -3
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/README.md +2 -2
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/pyproject.toml +3 -2
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/cell.py +52 -30
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/constants.py +1 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/document.py +48 -13
- numbers_parser-4.11.2/src/numbers_parser/generated/TNArchives_pb2.py +119 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TNCommandArchives_pb2.py +118 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TSAArchives_pb2.py +124 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TSCHArchives_pb2.py +149 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TSCKArchives_pb2.py +162 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TSCKArchives_sos_pb2.py +31 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TSDCommandArchives_pb2.py +161 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TSKArchives_pb2.py +146 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TSSArchives_pb2.py +64 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TSTArchives_pb2.py +441 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TSWPArchives_pb2.py +289 -0
- numbers_parser-4.11.2/src/numbers_parser/generated/TSWPCommandArchives_pb2.py +133 -0
- {numbers_parser-4.10.5/src/numbers_parser → numbers_parser-4.11.2/src/numbers_parser/generated}/mapping.py +63 -61
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/iwafile.py +2 -2
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/iwork.py +2 -2
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/model.py +69 -59
- numbers_parser-4.10.5/src/numbers_parser/generated/TNArchives_pb2.py +0 -118
- numbers_parser-4.10.5/src/numbers_parser/generated/TNCommandArchives_pb2.py +0 -117
- numbers_parser-4.10.5/src/numbers_parser/generated/TSAArchives_pb2.py +0 -123
- numbers_parser-4.10.5/src/numbers_parser/generated/TSCHArchives_pb2.py +0 -148
- numbers_parser-4.10.5/src/numbers_parser/generated/TSDCommandArchives_pb2.py +0 -160
- numbers_parser-4.10.5/src/numbers_parser/generated/TSKArchives_pb2.py +0 -283
- numbers_parser-4.10.5/src/numbers_parser/generated/TSKArchives_sos_pb2.py +0 -31
- numbers_parser-4.10.5/src/numbers_parser/generated/TSSArchives_pb2.py +0 -64
- numbers_parser-4.10.5/src/numbers_parser/generated/TSTArchives_pb2.py +0 -440
- numbers_parser-4.10.5/src/numbers_parser/generated/TSWPArchives_pb2.py +0 -288
- numbers_parser-4.10.5/src/numbers_parser/generated/TSWPCommandArchives_pb2.py +0 -132
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/LICENSE.rst +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/__init__.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/_cat_numbers.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/_unpack_numbers.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/bullets.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/containers.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/currencies.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/data/empty.numbers +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/exceptions.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/experimental.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/formula.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TNArchives_sos_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TNCommandArchives_sos_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSAArchives_sos_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSACommandArchives_sos_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSCEArchives_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSCH3DArchives_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSCHArchives_Common_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSCHArchives_GEN_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSCHArchives_sos_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSCHCommandArchives_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSCHPreUFFArchives_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSDArchives_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSDArchives_sos_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSPArchiveMessages_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSPDatabaseMessages_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSPMessages_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSSArchives_sos_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSTArchives_sos_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSTCommandArchives_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSTStylePropertyArchiving_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/TSWPArchives_sos_pb2.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/__init__.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/fontmap.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/generated/functionmap.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/numbers_cache.py +0 -0
- {numbers_parser-4.10.5 → numbers_parser-4.11.2}/src/numbers_parser/numbers_uuid.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: numbers-parser
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.11.2
|
|
4
4
|
Summary: Read and write Apple Numbers spreadsheets
|
|
5
5
|
Home-page: https://github.com/masaccio/numbers-parser
|
|
6
6
|
License: MIT
|
|
@@ -34,8 +34,8 @@ Description-Content-Type: text/markdown
|
|
|
34
34
|
[](https://github.com/masaccio/numbers-parser/actions/workflows/run-all-tests.yml)[](https://github.com/masaccio/numbers-parser/actions/workflows/codeql.yml)[](https://codecov.io/gh/masaccio/numbers-parser)[](https://badge.fury.io/py/numbers-parser)
|
|
35
35
|
|
|
36
36
|
`numbers-parser` is a Python module for parsing [Apple Numbers](https://www.apple.com/numbers/)`.numbers` files. It supports Numbers files
|
|
37
|
-
generated by Numbers version 10.3, and up with the latest tested version being
|
|
38
|
-
(current as of
|
|
37
|
+
generated by Numbers version 10.3, and up with the latest tested version being 14.1
|
|
38
|
+
(current as of June 2024).
|
|
39
39
|
|
|
40
40
|
It supports and is tested against Python versions from 3.9 onwards. It is not compatible
|
|
41
41
|
with earlier versions of Python.
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
[](https://github.com/masaccio/numbers-parser/actions/workflows/run-all-tests.yml)[](https://github.com/masaccio/numbers-parser/actions/workflows/codeql.yml)[](https://codecov.io/gh/masaccio/numbers-parser)[](https://badge.fury.io/py/numbers-parser)
|
|
4
4
|
|
|
5
5
|
`numbers-parser` is a Python module for parsing [Apple Numbers](https://www.apple.com/numbers/)`.numbers` files. It supports Numbers files
|
|
6
|
-
generated by Numbers version 10.3, and up with the latest tested version being
|
|
7
|
-
(current as of
|
|
6
|
+
generated by Numbers version 10.3, and up with the latest tested version being 14.1
|
|
7
|
+
(current as of June 2024).
|
|
8
8
|
|
|
9
9
|
It supports and is tested against Python versions from 3.9 onwards. It is not compatible
|
|
10
10
|
with earlier versions of Python.
|
|
@@ -12,7 +12,7 @@ name = "numbers-parser"
|
|
|
12
12
|
packages = [{include = "numbers_parser", from = "src"}]
|
|
13
13
|
readme = "README.md"
|
|
14
14
|
repository = "https://github.com/masaccio/numbers-parser"
|
|
15
|
-
version = "4.
|
|
15
|
+
version = "4.11.2"
|
|
16
16
|
|
|
17
17
|
[tool.poetry.scripts]
|
|
18
18
|
cat-numbers = "numbers_parser._cat_numbers:main"
|
|
@@ -108,10 +108,11 @@ profile = "black"
|
|
|
108
108
|
exclude = [
|
|
109
109
|
# Machine-generated files
|
|
110
110
|
".bootstrap/*",
|
|
111
|
+
".tox/*",
|
|
112
|
+
".vscode/*",
|
|
111
113
|
"src/numbers_parser/generated/*",
|
|
112
114
|
# Third-party files not to lint
|
|
113
115
|
"src/debug/lldbutil.py", # Tox
|
|
114
|
-
".tox/*",
|
|
115
116
|
]
|
|
116
117
|
fix = true
|
|
117
118
|
ignore = [
|
|
@@ -399,9 +399,9 @@ class Border:
|
|
|
399
399
|
|
|
400
400
|
.. code-block:: python
|
|
401
401
|
|
|
402
|
-
border_style = Border(8.0, RGB(29, 177, 0)
|
|
403
|
-
table.set_cell_border("B6", "left", border_style,
|
|
404
|
-
table.set_cell_border(6, 1, "right", border_style
|
|
402
|
+
border_style = Border(8.0, RGB(29, 177, 0), "solid")
|
|
403
|
+
table.set_cell_border("B6", "left", border_style, 3)
|
|
404
|
+
table.set_cell_border(6, 1, "right", border_style)
|
|
405
405
|
|
|
406
406
|
Parameters
|
|
407
407
|
----------
|
|
@@ -587,8 +587,9 @@ class CellStorageFlags:
|
|
|
587
587
|
|
|
588
588
|
class Cell(CellStorageFlags, Cacheable):
|
|
589
589
|
""".. NOTE::
|
|
590
|
-
|
|
591
|
-
|
|
590
|
+
|
|
591
|
+
Do not instantiate directly. Cells are created by :py:class:`~numbers_parser.Document`.
|
|
592
|
+
""" # fmt: skip
|
|
592
593
|
|
|
593
594
|
def __init__(self, row: int, col: int, value) -> None:
|
|
594
595
|
self._value = value
|
|
@@ -679,7 +680,7 @@ class Cell(CellStorageFlags, Cacheable):
|
|
|
679
680
|
bullet or numbering character. Newlines are not included in the
|
|
680
681
|
bullet list.
|
|
681
682
|
|
|
682
|
-
Example
|
|
683
|
+
Example
|
|
683
684
|
-------
|
|
684
685
|
.. code-block:: python
|
|
685
686
|
|
|
@@ -741,7 +742,7 @@ class Cell(CellStorageFlags, Cacheable):
|
|
|
741
742
|
def style(self) -> Union[Style, None]:
|
|
742
743
|
"""Style | None: The :class:`Style` associated with the cell or ``None``.
|
|
743
744
|
|
|
744
|
-
Warns
|
|
745
|
+
Warns
|
|
745
746
|
-----
|
|
746
747
|
UnsupportedWarning: On assignment; use
|
|
747
748
|
:py:meth:`numbers_parser.Table.set_cell_style` instead.
|
|
@@ -762,7 +763,7 @@ class Cell(CellStorageFlags, Cacheable):
|
|
|
762
763
|
def border(self) -> Union[CellBorder, None]:
|
|
763
764
|
"""CellBorder| None: The :class:`CellBorder` associated with the cell or ``None``.
|
|
764
765
|
|
|
765
|
-
Warns
|
|
766
|
+
Warns
|
|
766
767
|
-----
|
|
767
768
|
UnsupportedWarning: On assignment; use
|
|
768
769
|
:py:meth:`numbers_parser.Table.set_cell_border` instead.
|
|
@@ -820,7 +821,12 @@ class Cell(CellStorageFlags, Cacheable):
|
|
|
820
821
|
|
|
821
822
|
@classmethod
|
|
822
823
|
def _from_storage( # noqa: PLR0913, PLR0912
|
|
823
|
-
cls,
|
|
824
|
+
cls,
|
|
825
|
+
table_id: int,
|
|
826
|
+
row: int,
|
|
827
|
+
col: int,
|
|
828
|
+
buffer: bytearray,
|
|
829
|
+
model: object,
|
|
824
830
|
) -> None:
|
|
825
831
|
d128 = None
|
|
826
832
|
double = None
|
|
@@ -1029,7 +1035,7 @@ class Cell(CellStorageFlags, Cacheable):
|
|
|
1029
1035
|
flags = 2
|
|
1030
1036
|
length += 8
|
|
1031
1037
|
cell_type = TSTArchives.durationCellType
|
|
1032
|
-
value =
|
|
1038
|
+
value = pack("<d", float(self.value.total_seconds()))
|
|
1033
1039
|
elif isinstance(self, EmptyCell):
|
|
1034
1040
|
flags = 0
|
|
1035
1041
|
cell_type = TSTArchives.emptyCellValueType
|
|
@@ -1139,8 +1145,12 @@ class Cell(CellStorageFlags, Cacheable):
|
|
|
1139
1145
|
|
|
1140
1146
|
image_id = style.cell_properties.cell_fill.image.imagedata.identifier
|
|
1141
1147
|
datas = self._model.objects[PACKAGE_ID].datas
|
|
1142
|
-
stored_filename = next(
|
|
1143
|
-
|
|
1148
|
+
stored_filename = next(
|
|
1149
|
+
x.file_name for x in datas if x.identifier == image_id
|
|
1150
|
+
) # pragma: nocover (issue-1333)
|
|
1151
|
+
preferred_filename = next(
|
|
1152
|
+
x.preferred_file_name for x in datas if x.identifier == image_id
|
|
1153
|
+
) # pragma: nocover (issue-1333)
|
|
1144
1154
|
all_paths = self._model.objects.file_store.keys()
|
|
1145
1155
|
image_pathnames = [x for x in all_paths if x == f"Data/{stored_filename}"]
|
|
1146
1156
|
|
|
@@ -1186,7 +1196,9 @@ class Cell(CellStorageFlags, Cacheable):
|
|
|
1186
1196
|
)
|
|
1187
1197
|
else:
|
|
1188
1198
|
formatted_value = _decode_number_format(
|
|
1189
|
-
custom_format,
|
|
1199
|
+
custom_format,
|
|
1200
|
+
self._d128,
|
|
1201
|
+
format_map[format_uuid].name,
|
|
1190
1202
|
)
|
|
1191
1203
|
elif format.format_type == FormatType.DECIMAL:
|
|
1192
1204
|
return _format_decimal(self._d128, format)
|
|
@@ -1344,8 +1356,9 @@ class Cell(CellStorageFlags, Cacheable):
|
|
|
1344
1356
|
|
|
1345
1357
|
class NumberCell(Cell):
|
|
1346
1358
|
""".. NOTE::
|
|
1347
|
-
|
|
1348
|
-
|
|
1359
|
+
|
|
1360
|
+
Do not instantiate directly. Cells are created by :py:class:`~numbers_parser.Document`.
|
|
1361
|
+
""" # fmt: skip
|
|
1349
1362
|
|
|
1350
1363
|
def __init__(self, row: int, col: int, value: float, cell_type=CellType.NUMBER) -> None:
|
|
1351
1364
|
self._type = cell_type
|
|
@@ -1368,8 +1381,9 @@ class TextCell(Cell):
|
|
|
1368
1381
|
|
|
1369
1382
|
class RichTextCell(Cell):
|
|
1370
1383
|
""".. NOTE::
|
|
1371
|
-
|
|
1372
|
-
|
|
1384
|
+
|
|
1385
|
+
Do not instantiate directly. Cells are created by :py:class:`~numbers_parser.Document`.
|
|
1386
|
+
""" # fmt: skip
|
|
1373
1387
|
|
|
1374
1388
|
def __init__(self, row: int, col: int, value) -> None:
|
|
1375
1389
|
super().__init__(row, col, value["text"])
|
|
@@ -1411,7 +1425,7 @@ class RichTextCell(Cell):
|
|
|
1411
1425
|
of cells where :py:attr:`numbers_parser.Cell.is_bulleted` is ``True`` is a
|
|
1412
1426
|
list of text and URL tuples.
|
|
1413
1427
|
|
|
1414
|
-
Example
|
|
1428
|
+
Example
|
|
1415
1429
|
-------
|
|
1416
1430
|
.. code-block:: python
|
|
1417
1431
|
|
|
@@ -1428,8 +1442,9 @@ class BulletedTextCell(RichTextCell):
|
|
|
1428
1442
|
|
|
1429
1443
|
class EmptyCell(Cell):
|
|
1430
1444
|
""".. NOTE::
|
|
1431
|
-
|
|
1432
|
-
|
|
1445
|
+
|
|
1446
|
+
Do not instantiate directly. Cells are created by :py:class:`~numbers_parser.Document`.
|
|
1447
|
+
""" # fmt: skip
|
|
1433
1448
|
|
|
1434
1449
|
def __init__(self, row: int, col: int) -> None:
|
|
1435
1450
|
super().__init__(row, col, None)
|
|
@@ -1446,8 +1461,9 @@ class EmptyCell(Cell):
|
|
|
1446
1461
|
|
|
1447
1462
|
class BoolCell(Cell):
|
|
1448
1463
|
""".. NOTE::
|
|
1449
|
-
|
|
1450
|
-
|
|
1464
|
+
|
|
1465
|
+
Do not instantiate directly. Cells are created by :py:class:`~numbers_parser.Document`.
|
|
1466
|
+
""" # fmt: skip
|
|
1451
1467
|
|
|
1452
1468
|
def __init__(self, row: int, col: int, value: bool) -> None:
|
|
1453
1469
|
super().__init__(row, col, value)
|
|
@@ -1461,8 +1477,9 @@ class BoolCell(Cell):
|
|
|
1461
1477
|
|
|
1462
1478
|
class DateCell(Cell):
|
|
1463
1479
|
""".. NOTE::
|
|
1464
|
-
|
|
1465
|
-
|
|
1480
|
+
|
|
1481
|
+
Do not instantiate directly. Cells are created by :py:class:`~numbers_parser.Document`.
|
|
1482
|
+
""" # fmt: skip
|
|
1466
1483
|
|
|
1467
1484
|
def __init__(self, row: int, col: int, value: DateTime) -> None:
|
|
1468
1485
|
super().__init__(row, col, value)
|
|
@@ -1485,8 +1502,9 @@ class DurationCell(Cell):
|
|
|
1485
1502
|
|
|
1486
1503
|
class ErrorCell(Cell):
|
|
1487
1504
|
""".. NOTE::
|
|
1488
|
-
|
|
1489
|
-
|
|
1505
|
+
|
|
1506
|
+
Do not instantiate directly. Cells are created by :py:class:`~numbers_parser.Document`.
|
|
1507
|
+
""" # fmt: skip
|
|
1490
1508
|
|
|
1491
1509
|
def __init__(self, row: int, col: int) -> None:
|
|
1492
1510
|
super().__init__(row, col, None)
|
|
@@ -1499,8 +1517,9 @@ class ErrorCell(Cell):
|
|
|
1499
1517
|
|
|
1500
1518
|
class MergedCell(Cell):
|
|
1501
1519
|
""".. NOTE::
|
|
1502
|
-
|
|
1503
|
-
|
|
1520
|
+
|
|
1521
|
+
Do not instantiate directly. Cells are created by :py:class:`~numbers_parser.Document`.
|
|
1522
|
+
""" # fmt: skip
|
|
1504
1523
|
|
|
1505
1524
|
def __init__(self, row: int, col: int) -> None:
|
|
1506
1525
|
super().__init__(row, col, None)
|
|
@@ -1643,7 +1662,8 @@ def _decode_number_format(format, value, name): # noqa: PLR0912
|
|
|
1643
1662
|
if format.currency_code != "":
|
|
1644
1663
|
# Replace currency code with symbol and no-break space
|
|
1645
1664
|
custom_format_string = custom_format_string.replace(
|
|
1646
|
-
"\u00a4",
|
|
1665
|
+
"\u00a4",
|
|
1666
|
+
format.currency_code + "\u00a0",
|
|
1647
1667
|
)
|
|
1648
1668
|
|
|
1649
1669
|
if (match := re.search(r"([#0.,]+(E[+]\d+)?)", custom_format_string)) is None:
|
|
@@ -1794,7 +1814,9 @@ def _format_decimal(value: float, format, percent: bool = False) -> str:
|
|
|
1794
1814
|
else:
|
|
1795
1815
|
formatted_value = sigfig.round(value, MAX_SIGNIFICANT_DIGITS, type=str, warn=False)
|
|
1796
1816
|
formatted_value = sigfig.round(
|
|
1797
|
-
formatted_value,
|
|
1817
|
+
formatted_value,
|
|
1818
|
+
decimals=format.decimal_places,
|
|
1819
|
+
type=str,
|
|
1798
1820
|
)
|
|
1799
1821
|
if format.show_thousands_separator:
|
|
1800
1822
|
formatted_value = sigfig.round(formatted_value, spacer=",", spacing=3, type=str)
|
|
@@ -199,7 +199,13 @@ class Document:
|
|
|
199
199
|
Table(
|
|
200
200
|
self._model,
|
|
201
201
|
self._model.add_table(
|
|
202
|
-
new_sheet_id,
|
|
202
|
+
new_sheet_id,
|
|
203
|
+
table_name,
|
|
204
|
+
prev_table_id,
|
|
205
|
+
0,
|
|
206
|
+
0,
|
|
207
|
+
num_rows,
|
|
208
|
+
num_cols,
|
|
203
209
|
),
|
|
204
210
|
),
|
|
205
211
|
)
|
|
@@ -402,7 +408,13 @@ class Sheet:
|
|
|
402
408
|
return self._add_table(table_name, from_table_id, x, y, num_rows, num_cols)
|
|
403
409
|
|
|
404
410
|
def _add_table( # noqa: PLR0913
|
|
405
|
-
self,
|
|
411
|
+
self,
|
|
412
|
+
table_name,
|
|
413
|
+
from_table_id,
|
|
414
|
+
x,
|
|
415
|
+
y,
|
|
416
|
+
num_rows,
|
|
417
|
+
num_cols,
|
|
406
418
|
) -> object:
|
|
407
419
|
if table_name is not None:
|
|
408
420
|
if table_name in self._tables:
|
|
@@ -415,7 +427,13 @@ class Sheet:
|
|
|
415
427
|
table_name = f"Table {table_num}"
|
|
416
428
|
|
|
417
429
|
new_table_id = self._model.add_table(
|
|
418
|
-
self._sheet_id,
|
|
430
|
+
self._sheet_id,
|
|
431
|
+
table_name,
|
|
432
|
+
from_table_id,
|
|
433
|
+
x,
|
|
434
|
+
y,
|
|
435
|
+
num_rows,
|
|
436
|
+
num_cols,
|
|
419
437
|
)
|
|
420
438
|
self._tables.append(Table(self._model, new_table_id))
|
|
421
439
|
return self._tables[-1]
|
|
@@ -465,18 +483,36 @@ class Table(Cacheable):
|
|
|
465
483
|
def table_name_enabled(self, enabled: bool):
|
|
466
484
|
self._model.table_name_enabled(self._table_id, enabled)
|
|
467
485
|
|
|
486
|
+
@property
|
|
487
|
+
def caption_enabled(self) -> int:
|
|
488
|
+
"""bool: ``True`` if the table caption is visible, ``False`` otherwise."""
|
|
489
|
+
return self._model.caption_enabled(self._table_id)
|
|
490
|
+
|
|
491
|
+
@caption_enabled.setter
|
|
492
|
+
def caption_enabled(self, enabled: bool) -> None:
|
|
493
|
+
self._model.caption_enabled(self._table_id, enabled)
|
|
494
|
+
|
|
495
|
+
@property
|
|
496
|
+
def caption(self) -> str:
|
|
497
|
+
"""str: The table's caption text."""
|
|
498
|
+
return self._model.caption_text(self._table_id)
|
|
499
|
+
|
|
500
|
+
@caption.setter
|
|
501
|
+
def caption(self, caption: str) -> None:
|
|
502
|
+
self._model.caption_text(self._table_id, caption)
|
|
503
|
+
|
|
468
504
|
@property
|
|
469
505
|
def num_header_rows(self) -> int:
|
|
470
506
|
"""int: The number of header rows.
|
|
471
507
|
|
|
472
|
-
Example
|
|
508
|
+
Example
|
|
473
509
|
-------
|
|
474
510
|
.. code-block:: python
|
|
475
511
|
|
|
476
512
|
# Add an extra header row
|
|
477
513
|
table.num_header_rows += 1
|
|
478
514
|
|
|
479
|
-
Raises
|
|
515
|
+
Raises
|
|
480
516
|
------
|
|
481
517
|
ValueError:
|
|
482
518
|
If the number of headers is negative, exceeds the number of rows in the
|
|
@@ -501,14 +537,14 @@ class Table(Cacheable):
|
|
|
501
537
|
def num_header_cols(self) -> int:
|
|
502
538
|
"""int: The number of header columns.
|
|
503
539
|
|
|
504
|
-
Example
|
|
540
|
+
Example
|
|
505
541
|
-------
|
|
506
542
|
.. code-block:: python
|
|
507
543
|
|
|
508
544
|
# Add an extra header column
|
|
509
545
|
table.num_header_cols += 1
|
|
510
546
|
|
|
511
|
-
Raises
|
|
547
|
+
Raises
|
|
512
548
|
------
|
|
513
549
|
ValueError:
|
|
514
550
|
If the number of headers is negative, exceeds the number of rows in the
|
|
@@ -605,7 +641,7 @@ class Table(Cacheable):
|
|
|
605
641
|
def merge_ranges(self) -> List[str]:
|
|
606
642
|
"""List[str]: The merge ranges of cells in A1 notation.
|
|
607
643
|
|
|
608
|
-
Example
|
|
644
|
+
Example
|
|
609
645
|
-------
|
|
610
646
|
.. code-block:: python
|
|
611
647
|
|
|
@@ -1160,13 +1196,13 @@ class Table(Cacheable):
|
|
|
1160
1196
|
* **param3** (:py:class:`Border`): The border to add.
|
|
1161
1197
|
* **param4** (*int*, *optional*, default: 1): The length of the stroke to add.
|
|
1162
1198
|
|
|
1163
|
-
Raises
|
|
1199
|
+
Raises
|
|
1164
1200
|
------
|
|
1165
1201
|
TypeError:
|
|
1166
1202
|
If an invalid number of arguments is passed or if the types of the arguments
|
|
1167
1203
|
are invalid.
|
|
1168
1204
|
|
|
1169
|
-
Warns
|
|
1205
|
+
Warns
|
|
1170
1206
|
-----
|
|
1171
1207
|
RuntimeWarning:
|
|
1172
1208
|
If any of the sides to which the border is applied have been merged.
|
|
@@ -1438,6 +1474,7 @@ class Table(Cacheable):
|
|
|
1438
1474
|
def _set_cell_data_format(self, row: int, col: int, format_type_name: str, **kwargs) -> None:
|
|
1439
1475
|
try:
|
|
1440
1476
|
format_type = FormattingType[format_type_name.upper()]
|
|
1477
|
+
_ = FORMATTING_ALLOWED_CELLS[format_type_name]
|
|
1441
1478
|
except (KeyError, AttributeError):
|
|
1442
1479
|
msg = f"unsuported cell format type '{format_type_name}'"
|
|
1443
1480
|
raise TypeError(msg) from None
|
|
@@ -1462,9 +1499,7 @@ class Table(Cacheable):
|
|
|
1462
1499
|
try:
|
|
1463
1500
|
control_format = kwargs["control_format"].name
|
|
1464
1501
|
number_format_type = FormattingType[control_format]
|
|
1465
|
-
is_currency =
|
|
1466
|
-
kwargs["control_format"] == ControlFormattingType.CURRENCY
|
|
1467
|
-
)
|
|
1502
|
+
is_currency = kwargs["control_format"] == ControlFormattingType.CURRENCY
|
|
1468
1503
|
except (KeyError, AttributeError):
|
|
1469
1504
|
control_format = kwargs["control_format"]
|
|
1470
1505
|
msg = f"unsupported number format '{control_format}' for {format_type_name}"
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: TNArchives.proto
|
|
4
|
+
"""Generated protocol buffer code."""
|
|
5
|
+
from google.protobuf.internal import builder as _builder
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
9
|
+
# @@protoc_insertion_point(imports)
|
|
10
|
+
|
|
11
|
+
_sym_db = _symbol_database.Default()
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
import numbers_parser.generated.TSPMessages_pb2 as TSPMessages__pb2
|
|
15
|
+
import numbers_parser.generated.TSKArchives_pb2 as TSKArchives__pb2
|
|
16
|
+
import numbers_parser.generated.TSCKArchives_pb2 as TSCKArchives__pb2
|
|
17
|
+
import numbers_parser.generated.TSCHArchives_pb2 as TSCHArchives__pb2
|
|
18
|
+
import numbers_parser.generated.TSCEArchives_pb2 as TSCEArchives__pb2
|
|
19
|
+
import numbers_parser.generated.TSSArchives_pb2 as TSSArchives__pb2
|
|
20
|
+
import numbers_parser.generated.TSDArchives_pb2 as TSDArchives__pb2
|
|
21
|
+
import numbers_parser.generated.TSWPArchives_pb2 as TSWPArchives__pb2
|
|
22
|
+
import numbers_parser.generated.TSAArchives_pb2 as TSAArchives__pb2
|
|
23
|
+
import numbers_parser.generated.TSTArchives_pb2 as TSTArchives__pb2
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10TNArchives.proto\x12\x02TN\x1a\x11TSPMessages.proto\x1a\x11TSKArchives.proto\x1a\x12TSCKArchives.proto\x1a\x12TSCHArchives.proto\x1a\x12TSCEArchives.proto\x1a\x11TSSArchives.proto\x1a\x11TSDArchives.proto\x1a\x12TSWPArchives.proto\x1a\x11TSAArchives.proto\x1a\x11TSTArchives.proto\"\xcd\x03\n\x13SheetUIStateArchive\x12\x12\n\nview_scale\x18\x01 \x02(\x02\x12#\n\x0fscroll_position\x18\x02 \x02(\x0b\x32\n.TSP.Point\x12\x1b\n\x13previous_view_scale\x18\x03 \x01(\x02\x12#\n\x1bscroll_position_is_unscaled\x18\x04 \x01(\x08\x12,\n\x18previous_scroll_position\x18\x05 \x01(\x0b\x32\n.TSP.Point\x12\x1d\n\x15scroll_position_valid\x18\x06 \x01(\x08\x12&\n\x1eprevious_scroll_position_valid\x18\x07 \x01(\x08\x12\x1f\n\x0cvisible_size\x18\x08 \x01(\x0b\x32\t.TSP.Size\x12(\n\x15previous_visible_size\x18\t \x01(\x0b\x32\t.TSP.Size\x12\x14\n\x0c\x64\x65vice_idiom\x18\n \x01(\r\x12\x31\n\x0eselection_path\x18\x0b \x01(\x0b\x32\x19.TSK.SelectionPathArchive\x12\x32\n\x1aselection_path_transformer\x18\x0c \x01(\x0b\x32\x0e.TSP.Reference\"s\n\"SheetUIStateDictionaryEntryArchive\x12\x1d\n\x05sheet\x18\x01 \x02(\x0b\x32\x0e.TSP.Reference\x12.\n\rsheet_uistate\x18\x02 \x02(\x0b\x32\x17.TN.SheetUIStateArchive\"r\n!UUIDSheetUIStateDictionaryArchive\x12\x1d\n\nsheet_uuid\x18\x01 \x02(\x0b\x32\t.TSP.UUID\x12.\n\rsheet_uistate\x18\x02 \x02(\x0b\x32\x17.TN.SheetUIStateArchive\"\x86\x0c\n\x0eUIStateArchive\x12\x1e\n\x12\x61\x63tive_sheet_index\x18\x01 \x02(\rB\x02\x18\x01\x12)\n\rselected_info\x18\x02 \x03(\x0b\x32\x0e.TSP.ReferenceB\x02\x18\x01\x12R\n\x1esheet_uistate_dictionary_entry\x18\x03 \x03(\x0b\x32&.TN.SheetUIStateDictionaryEntryArchiveB\x02\x18\x01\x12\x32\n\x0ftable_selection\x18\x04 \x01(\x0b\x32\x15.TST.SelectionArchiveB\x02\x18\x01\x12\x1f\n\x13\x65\x64iting_sheet_index\x18\x05 \x01(\rB\x02\x18\x01\x12\x15\n\rdocument_mode\x18\x06 \x01(\x05\x12\\\n(edit_mode_sheet_uistate_dictionary_entry\x18\x07 \x03(\x0b\x32&.TN.SheetUIStateDictionaryEntryArchiveB\x02\x18\x01\x12\x1e\n\x12table_editing_mode\x18\x08 \x01(\x05\x42\x02\x18\x01\x12%\n\x19\x66orm_focused_record_index\x18\t \x01(\rB\x02\x18\x01\x12$\n\x18\x66orm_focused_field_index\x18\n \x01(\rB\x02\x18\x01\x12\x15\n\rin_chart_mode\x18\x0b \x01(\x08\x12\x36\n\x0f\x63hart_selection\x18\x0c \x01(\x0b\x32\x19.TN.ChartSelectionArchiveB\x02\x18\x01\x12+\n\x0fsheet_selection\x18\r \x01(\x0b\x32\x0e.TSP.ReferenceB\x02\x18\x01\x12$\n\x16inspector_pane_visible\x18\x0e \x01(\x08:\x04true\x12h\n\x18inspector_pane_view_mode\x18\x0f \x01(\x0e\x32(.TN.UIStateArchive.InspectorPaneViewMode:\x1ckInspectorPaneViewModeFormat\x12%\n\x1dselected_quick_calc_functions\x18\x10 \x03(\r\x12(\n removed_all_quick_calc_functions\x18\x11 \x01(\x08\x12\x1a\n\x12show_canvas_guides\x18\x12 \x01(\x08\x12\x16\n\x0eshows_comments\x18\x13 \x01(\x08\x12)\n\x15\x64\x65sktop_window_origin\x18\x14 \x01(\x0b\x32\n.TSP.Point\x12&\n\x13\x64\x65sktop_window_size\x18\x15 \x01(\x0b\x32\t.TSP.Size\x12&\n\x13\x64\x65sktop_screen_size\x18\x16 \x01(\x0b\x32\t.TSP.Size\x12*\n\x0e\x63hart_ui_state\x18\x17 \x03(\x0b\x32\x12.TSCH.ChartUIState\x12\x31\n\x0eselection_path\x18\x18 \x01(\x0b\x32\x19.TSK.SelectionPathArchive\x12!\n\x19inspector_pane_autohidden\x18\x19 \x01(\x08\x12\x19\n\rshows_sidebar\x18\x1a \x01(\x08\x42\x02\x18\x01\x12\x14\n\x0cshows_rulers\x18\x1b \x01(\x08\x12L\n\x1duuid_sheet_uistate_dictionary\x18\x1c \x03(\x0b\x32%.TN.UUIDSheetUIStateDictionaryArchive\x12\x36\n\x1e\x66reehand_drawing_toolkit_state\x18\x1d \x01(\x0b\x32\x0e.TSP.Reference\x12\x32\n\x1aselection_path_transformer\x18\x1e \x01(\x0b\x32\x0e.TSP.Reference\x12\x18\n\x10\x65\x64iting_disabled\x18\x1f \x01(\x08\x12\x17\n\x0fsidebar_visible\x18 \x01(\x08\x12\x15\n\rsidebar_width\x18! \x01(\x02\"[\n\x15InspectorPaneViewMode\x12 \n\x1ckInspectorPaneViewModeFormat\x10\x00\x12 \n\x1ckInspectorPaneViewModeFilter\x10\x01\"I\n\x15SheetSelectionArchive\x12\x1d\n\x05sheet\x18\x01 \x01(\x0b\x32\x0e.TSP.Reference\x12\x11\n\tpaginated\x18\x02 \x01(\x08\"A\n\x14\x46ormSelectionArchive\x12\x14\n\x0crecord_index\x18\x01 \x02(\r\x12\x13\n\x0b\x66ield_index\x18\x02 \x02(\r\";\n\x1b\x46ormBuilderSelectionArchive\x12\x1c\n\x14viewing_record_index\x18\x01 \x01(\r\"\"\n FormTableChooserSelectionArchive\"<\n\x14UndoRedoStateArchive\x12$\n\x08ui_state\x18\x01 \x02(\x0b\x32\x12.TN.UIStateArchive\"\x89\x03\n\x0f\x44ocumentArchive\x12\x1e\n\x06sheets\x18\x01 \x03(\x0b\x32\x0e.TSP.Reference\x12#\n\x05super\x18\x08 \x02(\x0b\x32\x14.TSA.DocumentArchive\x12.\n\x12\x63\x61lculation_engine\x18\x03 \x01(\x0b\x32\x0e.TSP.ReferenceB\x02\x18\x01\x12\"\n\nstylesheet\x18\x04 \x02(\x0b\x32\x0e.TSP.Reference\x12%\n\rsidebar_order\x18\x05 \x02(\x0b\x32\x0e.TSP.Reference\x12\x1d\n\x05theme\x18\x06 \x02(\x0b\x32\x0e.TSP.Reference\x12#\n\x07uistate\x18\x07 \x01(\x0b\x32\x12.TN.UIStateArchive\x12*\n\x12\x63ustom_format_list\x18\t \x01(\x0b\x32\x0e.TSP.Reference\x12\x16\n\nprinter_id\x18\n \x01(\tB\x02\x18\x01\x12\x10\n\x08paper_id\x18\x0b \x01(\t\x12\x1c\n\tpage_size\x18\x0c \x01(\x0b\x32\t.TSP.Size\";\n\x12PlaceholderArchive\x12%\n\x05super\x18\x01 \x02(\x0b\x32\x16.TSWP.ShapeInfoArchive\"\xb5\x06\n\x0cSheetArchive\x12\x0c\n\x04name\x18\x01 \x02(\t\x12&\n\x0e\x64rawable_infos\x18\x02 \x03(\x0b\x32\x0e.TSP.Reference\x12$\n\x1cin_portrait_page_orientation\x18\x03 \x01(\x08\x12\"\n\x16show_repeating_headers\x18\x04 \x01(\x08\x42\x02\x18\x01\x12\x19\n\x11show_page_numbers\x18\x05 \x01(\x08\x12\x15\n\ris_autofit_on\x18\x06 \x01(\x08\x12\x15\n\rcontent_scale\x18\x07 \x01(\x02\x12!\n\npage_order\x18\x08 \x01(\x0e\x32\r.TN.PageOrder\x12-\n\rprint_margins\x18\n \x01(\x0b\x32\x16.TSD.EdgeInsetsArchive\x12\x1f\n\x17using_start_page_number\x18\x0b \x01(\x08\x12\x19\n\x11start_page_number\x18\x0c \x01(\x05\x12\x19\n\x11page_header_inset\x18\r \x01(\x02\x12\x19\n\x11page_footer_inset\x18\x0e \x01(\x02\x12*\n\x0eheader_storage\x18\x0f \x01(\x0b\x32\x0e.TSP.ReferenceB\x02\x18\x01\x12*\n\x0e\x66ooter_storage\x18\x10 \x01(\x0b\x32\x0e.TSP.ReferenceB\x02\x18\x01\x12/\n\x17userDefinedGuideStorage\x18\x11 \x01(\x0b\x32\x0e.TSP.Reference\x12\x1f\n\x07headers\x18\x12 \x03(\x0b\x32\x0e.TSP.Reference\x12\x1f\n\x07\x66ooters\x18\x13 \x03(\x0b\x32\x0e.TSP.Reference\x12!\n\x19uses_single_header_footer\x18\x14 \x01(\x08\x12Q\n\x10layout_direction\x18\x15 \x01(\x0e\x32\x17.TN.PageLayoutDirection:\x1ePageLayoutDirectionLeftToRight\x12\x1d\n\x05style\x18\x16 \x01(\x0b\x32\x0e.TSP.Reference\x12\x19\n\x11print_backgrounds\x18\x17 \x01(\x08\x12\x1d\n\x15should_print_comments\x18\x18 \x01(\x08\"=\n\x1bSheetStylePropertiesArchive\x12\x1e\n\x04\x66ill\x18\x01 \x01(\x0b\x32\x10.TSD.FillArchive\"\x88\x01\n\x11SheetStyleArchive\x12 \n\x05super\x18\x01 \x02(\x0b\x32\x11.TSS.StyleArchive\x12\x16\n\x0eoverride_count\x18\x02 \x01(\r\x12\x39\n\x10sheet_properties\x18\x03 \x01(\x0b\x32\x1f.TN.SheetStylePropertiesArchive\"^\n\x15\x46ormBasedSheetArchive\x12\x1f\n\x05super\x18\x01 \x02(\x0b\x32\x10.TN.SheetArchive\x12$\n\x08table_id\x18\x02 \x01(\x0b\x32\x12.TSP.CFUUIDArchive\"T\n\x0cThemeArchive\x12 \n\x05super\x18\x01 \x02(\x0b\x32\x11.TSS.ThemeArchive\x12\"\n\nprototypes\x18\x02 \x03(\x0b\x32\x0e.TSP.Reference\"j\n\x1ePasteboardNativeStorageArchive\x12\x1d\n\x05sheet\x18\x01 \x01(\x0b\x32\x0e.TSP.Reference\x12)\n\x08ui_state\x18\x02 \x01(\x0b\x32\x17.TN.SheetUIStateArchive\"\xc7\x03\n\x1b\x43hartMediatorFormulaStorage\x12+\n\rdata_formulae\x18\x01 \x03(\x0b\x32\x14.TSCE.FormulaArchive\x12\x30\n\x12row_label_formulae\x18\x03 \x03(\x0b\x32\x14.TSCE.FormulaArchive\x12\x30\n\x12\x63ol_label_formulae\x18\x04 \x03(\x0b\x32\x14.TSCE.FormulaArchive\x12\x11\n\tdirection\x18\x05 \x01(\x05\x12\x37\n\x19\x65rror_custom_pos_formulae\x18\x06 \x03(\x0b\x32\x14.TSCE.FormulaArchive\x12\x37\n\x19\x65rror_custom_neg_formulae\x18\x07 \x03(\x0b\x32\x14.TSCE.FormulaArchive\x12@\n\"error_custom_pos_scatterX_formulae\x18\x08 \x03(\x0b\x32\x14.TSCE.FormulaArchive\x12@\n\"error_custom_neg_scatterX_formulae\x18\t \x03(\x0b\x32\x14.TSCE.FormulaArchive\x12\x0e\n\x06scheme\x18\n \x01(\x05\"\xcf\x01\n\x14\x43hartMediatorArchive\x12)\n\x05super\x18\x01 \x02(\x0b\x32\x1a.TSCH.ChartMediatorArchive\x12\x11\n\tentity_id\x18\x02 \x02(\t\x12\x31\n\x08\x66ormulas\x18\x03 \x01(\x0b\x32\x1f.TN.ChartMediatorFormulaStorage\x12\x1a\n\x12\x63olumns_are_series\x18\x04 \x01(\x08\x12*\n\x1eis_registered_with_calc_engine\x18\x05 \x01(\x08\x42\x02\x18\x01\"\xcf\x01\n\x15\x43hartSelectionArchive\x12.\n\treference\x18\x01 \x01(\x0b\x32\x1b.TSCE.RangeReferenceArchive\x12\x39\n\x10\x64\x65precated_super\x18\x02 \x01(\x0b\x32\x1b.TSCH.ChartSelectionArchiveB\x02\x18\x01\x12\x1d\n\x05\x63hart\x18\x03 \x01(\x0b\x32\x0e.TSP.Reference\x12,\n\x05super\x18\x04 \x01(\x0b\x32\x1d.TSD.DrawableSelectionArchive\"Y\n\"FormCommandActivityBehaviorArchive\x12\x33\n\x05super\x18\x01 \x02(\x0b\x32$.TSCK.CommandActivityBehaviorArchive*?\n\tPageOrder\x12\x18\n\x14PageOrderTopToBottom\x10\x00\x12\x18\n\x14PageOrderLeftToRight\x10\x01*]\n\x13PageLayoutDirection\x12\"\n\x1ePageLayoutDirectionLeftToRight\x10\x00\x12\"\n\x1ePageLayoutDirectionRightToLeft\x10\x01')
|
|
27
|
+
|
|
28
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
29
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'TNArchives_pb2', globals())
|
|
30
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
31
|
+
|
|
32
|
+
DESCRIPTOR._options = None
|
|
33
|
+
_UISTATEARCHIVE.fields_by_name['active_sheet_index']._options = None
|
|
34
|
+
_UISTATEARCHIVE.fields_by_name['active_sheet_index']._serialized_options = b'\030\001'
|
|
35
|
+
_UISTATEARCHIVE.fields_by_name['selected_info']._options = None
|
|
36
|
+
_UISTATEARCHIVE.fields_by_name['selected_info']._serialized_options = b'\030\001'
|
|
37
|
+
_UISTATEARCHIVE.fields_by_name['sheet_uistate_dictionary_entry']._options = None
|
|
38
|
+
_UISTATEARCHIVE.fields_by_name['sheet_uistate_dictionary_entry']._serialized_options = b'\030\001'
|
|
39
|
+
_UISTATEARCHIVE.fields_by_name['table_selection']._options = None
|
|
40
|
+
_UISTATEARCHIVE.fields_by_name['table_selection']._serialized_options = b'\030\001'
|
|
41
|
+
_UISTATEARCHIVE.fields_by_name['editing_sheet_index']._options = None
|
|
42
|
+
_UISTATEARCHIVE.fields_by_name['editing_sheet_index']._serialized_options = b'\030\001'
|
|
43
|
+
_UISTATEARCHIVE.fields_by_name['edit_mode_sheet_uistate_dictionary_entry']._options = None
|
|
44
|
+
_UISTATEARCHIVE.fields_by_name['edit_mode_sheet_uistate_dictionary_entry']._serialized_options = b'\030\001'
|
|
45
|
+
_UISTATEARCHIVE.fields_by_name['table_editing_mode']._options = None
|
|
46
|
+
_UISTATEARCHIVE.fields_by_name['table_editing_mode']._serialized_options = b'\030\001'
|
|
47
|
+
_UISTATEARCHIVE.fields_by_name['form_focused_record_index']._options = None
|
|
48
|
+
_UISTATEARCHIVE.fields_by_name['form_focused_record_index']._serialized_options = b'\030\001'
|
|
49
|
+
_UISTATEARCHIVE.fields_by_name['form_focused_field_index']._options = None
|
|
50
|
+
_UISTATEARCHIVE.fields_by_name['form_focused_field_index']._serialized_options = b'\030\001'
|
|
51
|
+
_UISTATEARCHIVE.fields_by_name['chart_selection']._options = None
|
|
52
|
+
_UISTATEARCHIVE.fields_by_name['chart_selection']._serialized_options = b'\030\001'
|
|
53
|
+
_UISTATEARCHIVE.fields_by_name['sheet_selection']._options = None
|
|
54
|
+
_UISTATEARCHIVE.fields_by_name['sheet_selection']._serialized_options = b'\030\001'
|
|
55
|
+
_UISTATEARCHIVE.fields_by_name['shows_sidebar']._options = None
|
|
56
|
+
_UISTATEARCHIVE.fields_by_name['shows_sidebar']._serialized_options = b'\030\001'
|
|
57
|
+
_DOCUMENTARCHIVE.fields_by_name['calculation_engine']._options = None
|
|
58
|
+
_DOCUMENTARCHIVE.fields_by_name['calculation_engine']._serialized_options = b'\030\001'
|
|
59
|
+
_DOCUMENTARCHIVE.fields_by_name['printer_id']._options = None
|
|
60
|
+
_DOCUMENTARCHIVE.fields_by_name['printer_id']._serialized_options = b'\030\001'
|
|
61
|
+
_SHEETARCHIVE.fields_by_name['show_repeating_headers']._options = None
|
|
62
|
+
_SHEETARCHIVE.fields_by_name['show_repeating_headers']._serialized_options = b'\030\001'
|
|
63
|
+
_SHEETARCHIVE.fields_by_name['header_storage']._options = None
|
|
64
|
+
_SHEETARCHIVE.fields_by_name['header_storage']._serialized_options = b'\030\001'
|
|
65
|
+
_SHEETARCHIVE.fields_by_name['footer_storage']._options = None
|
|
66
|
+
_SHEETARCHIVE.fields_by_name['footer_storage']._serialized_options = b'\030\001'
|
|
67
|
+
_CHARTMEDIATORARCHIVE.fields_by_name['is_registered_with_calc_engine']._options = None
|
|
68
|
+
_CHARTMEDIATORARCHIVE.fields_by_name['is_registered_with_calc_engine']._serialized_options = b'\030\001'
|
|
69
|
+
_CHARTSELECTIONARCHIVE.fields_by_name['deprecated_super']._options = None
|
|
70
|
+
_CHARTSELECTIONARCHIVE.fields_by_name['deprecated_super']._serialized_options = b'\030\001'
|
|
71
|
+
_PAGEORDER._serialized_start=5503
|
|
72
|
+
_PAGEORDER._serialized_end=5566
|
|
73
|
+
_PAGELAYOUTDIRECTION._serialized_start=5568
|
|
74
|
+
_PAGELAYOUTDIRECTION._serialized_end=5661
|
|
75
|
+
_SHEETUISTATEARCHIVE._serialized_start=219
|
|
76
|
+
_SHEETUISTATEARCHIVE._serialized_end=680
|
|
77
|
+
_SHEETUISTATEDICTIONARYENTRYARCHIVE._serialized_start=682
|
|
78
|
+
_SHEETUISTATEDICTIONARYENTRYARCHIVE._serialized_end=797
|
|
79
|
+
_UUIDSHEETUISTATEDICTIONARYARCHIVE._serialized_start=799
|
|
80
|
+
_UUIDSHEETUISTATEDICTIONARYARCHIVE._serialized_end=913
|
|
81
|
+
_UISTATEARCHIVE._serialized_start=916
|
|
82
|
+
_UISTATEARCHIVE._serialized_end=2458
|
|
83
|
+
_UISTATEARCHIVE_INSPECTORPANEVIEWMODE._serialized_start=2367
|
|
84
|
+
_UISTATEARCHIVE_INSPECTORPANEVIEWMODE._serialized_end=2458
|
|
85
|
+
_SHEETSELECTIONARCHIVE._serialized_start=2460
|
|
86
|
+
_SHEETSELECTIONARCHIVE._serialized_end=2533
|
|
87
|
+
_FORMSELECTIONARCHIVE._serialized_start=2535
|
|
88
|
+
_FORMSELECTIONARCHIVE._serialized_end=2600
|
|
89
|
+
_FORMBUILDERSELECTIONARCHIVE._serialized_start=2602
|
|
90
|
+
_FORMBUILDERSELECTIONARCHIVE._serialized_end=2661
|
|
91
|
+
_FORMTABLECHOOSERSELECTIONARCHIVE._serialized_start=2663
|
|
92
|
+
_FORMTABLECHOOSERSELECTIONARCHIVE._serialized_end=2697
|
|
93
|
+
_UNDOREDOSTATEARCHIVE._serialized_start=2699
|
|
94
|
+
_UNDOREDOSTATEARCHIVE._serialized_end=2759
|
|
95
|
+
_DOCUMENTARCHIVE._serialized_start=2762
|
|
96
|
+
_DOCUMENTARCHIVE._serialized_end=3155
|
|
97
|
+
_PLACEHOLDERARCHIVE._serialized_start=3157
|
|
98
|
+
_PLACEHOLDERARCHIVE._serialized_end=3216
|
|
99
|
+
_SHEETARCHIVE._serialized_start=3219
|
|
100
|
+
_SHEETARCHIVE._serialized_end=4040
|
|
101
|
+
_SHEETSTYLEPROPERTIESARCHIVE._serialized_start=4042
|
|
102
|
+
_SHEETSTYLEPROPERTIESARCHIVE._serialized_end=4103
|
|
103
|
+
_SHEETSTYLEARCHIVE._serialized_start=4106
|
|
104
|
+
_SHEETSTYLEARCHIVE._serialized_end=4242
|
|
105
|
+
_FORMBASEDSHEETARCHIVE._serialized_start=4244
|
|
106
|
+
_FORMBASEDSHEETARCHIVE._serialized_end=4338
|
|
107
|
+
_THEMEARCHIVE._serialized_start=4340
|
|
108
|
+
_THEMEARCHIVE._serialized_end=4424
|
|
109
|
+
_PASTEBOARDNATIVESTORAGEARCHIVE._serialized_start=4426
|
|
110
|
+
_PASTEBOARDNATIVESTORAGEARCHIVE._serialized_end=4532
|
|
111
|
+
_CHARTMEDIATORFORMULASTORAGE._serialized_start=4535
|
|
112
|
+
_CHARTMEDIATORFORMULASTORAGE._serialized_end=4990
|
|
113
|
+
_CHARTMEDIATORARCHIVE._serialized_start=4993
|
|
114
|
+
_CHARTMEDIATORARCHIVE._serialized_end=5200
|
|
115
|
+
_CHARTSELECTIONARCHIVE._serialized_start=5203
|
|
116
|
+
_CHARTSELECTIONARCHIVE._serialized_end=5410
|
|
117
|
+
_FORMCOMMANDACTIVITYBEHAVIORARCHIVE._serialized_start=5412
|
|
118
|
+
_FORMCOMMANDACTIVITYBEHAVIORARCHIVE._serialized_end=5501
|
|
119
|
+
# @@protoc_insertion_point(module_scope)
|