numbers-parser 4.10.6__py3-none-any.whl → 4.11.3__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/_unpack_numbers.py +5 -3
- numbers_parser/cell.py +3 -3
- numbers_parser/constants.py +1 -0
- numbers_parser/document.py +44 -6
- numbers_parser/generated/TNArchives_pb2.py +50 -49
- numbers_parser/generated/TNCommandArchives_pb2.py +84 -83
- numbers_parser/generated/TSAArchives_pb2.py +89 -88
- numbers_parser/generated/TSCHArchives_pb2.py +86 -85
- numbers_parser/generated/TSCKArchives_pb2.py +162 -0
- numbers_parser/generated/TSCKArchives_sos_pb2.py +31 -0
- numbers_parser/generated/TSDCommandArchives_pb2.py +134 -133
- numbers_parser/generated/TSKArchives_pb2.py +93 -230
- numbers_parser/generated/TSSArchives_pb2.py +36 -36
- numbers_parser/generated/TSTArchives_pb2.py +365 -364
- numbers_parser/generated/TSWPArchives_pb2.py +251 -250
- numbers_parser/generated/TSWPCommandArchives_pb2.py +104 -103
- numbers_parser/generated/mapping.py +40 -38
- numbers_parser/model.py +109 -52
- {numbers_parser-4.10.6.dist-info → numbers_parser-4.11.3.dist-info}/METADATA +3 -3
- {numbers_parser-4.10.6.dist-info → numbers_parser-4.11.3.dist-info}/RECORD +23 -22
- numbers_parser/generated/TSKArchives_sos_pb2.py +0 -31
- {numbers_parser-4.10.6.dist-info → numbers_parser-4.11.3.dist-info}/LICENSE.rst +0 -0
- {numbers_parser-4.10.6.dist-info → numbers_parser-4.11.3.dist-info}/WHEEL +0 -0
- {numbers_parser-4.10.6.dist-info → numbers_parser-4.11.3.dist-info}/entry_points.txt +0 -0
numbers_parser/model.py
CHANGED
|
@@ -2,6 +2,7 @@ import re
|
|
|
2
2
|
from array import array
|
|
3
3
|
from collections import defaultdict
|
|
4
4
|
from hashlib import sha1
|
|
5
|
+
from math import floor
|
|
5
6
|
from pathlib import Path
|
|
6
7
|
from struct import pack
|
|
7
8
|
from typing import Dict, List, Optional, Tuple, Union
|
|
@@ -308,25 +309,6 @@ class _NumbersModel(Cacheable):
|
|
|
308
309
|
self.objects[table_id].number_of_columns = num_cols
|
|
309
310
|
return self.objects[table_id].number_of_columns
|
|
310
311
|
|
|
311
|
-
@cache()
|
|
312
|
-
def col_storage_map(self, table_id: int):
|
|
313
|
-
# The base data store contains a reference to columnHeaders
|
|
314
|
-
# which is an ordered list that identfies which offset to use
|
|
315
|
-
# to index storage buffers for each column.
|
|
316
|
-
#
|
|
317
|
-
# {
|
|
318
|
-
# "hiding_state": 0,
|
|
319
|
-
# "index": 0,
|
|
320
|
-
# "number_of_cells": 3,
|
|
321
|
-
# "size": 0.0
|
|
322
|
-
# },
|
|
323
|
-
col_bucket_map = {i: None for i in range(self.objects[table_id].number_of_columns)}
|
|
324
|
-
bds = self.objects[table_id].base_data_store
|
|
325
|
-
buckets = self.objects[bds.columnHeaders.identifier].headers
|
|
326
|
-
for i, bucket in enumerate(buckets):
|
|
327
|
-
col_bucket_map[bucket.index] = i
|
|
328
|
-
return col_bucket_map
|
|
329
|
-
|
|
330
312
|
def table_name(self, table_id, value=None):
|
|
331
313
|
if value is None:
|
|
332
314
|
return self.objects[table_id].table_name
|
|
@@ -341,6 +323,23 @@ class _NumbersModel(Cacheable):
|
|
|
341
323
|
else:
|
|
342
324
|
return self.objects[table_id].table_name_enabled
|
|
343
325
|
|
|
326
|
+
def caption_enabled(self, table_id: int, enabled: Optional[bool] = None) -> bool:
|
|
327
|
+
table_info = self.objects[self.table_info_id(table_id)]
|
|
328
|
+
if enabled is not None:
|
|
329
|
+
table_info.super.caption_hidden = not enabled
|
|
330
|
+
else:
|
|
331
|
+
return not table_info.super.caption_hidden
|
|
332
|
+
|
|
333
|
+
def caption_text(self, table_id: int, caption: str = None) -> str:
|
|
334
|
+
table_info = self.objects[self.table_info_id(table_id)]
|
|
335
|
+
caption_info_id = table_info.super.caption.identifier
|
|
336
|
+
caption_storage_id = self.objects[caption_info_id].super.owned_storage.identifier
|
|
337
|
+
caption_text = self.objects[caption_storage_id].text
|
|
338
|
+
if caption is not None:
|
|
339
|
+
caption_text[0] = caption
|
|
340
|
+
else:
|
|
341
|
+
return caption_text[0]
|
|
342
|
+
|
|
344
343
|
@cache()
|
|
345
344
|
def table_tiles(self, table_id):
|
|
346
345
|
bds = self.objects[table_id].base_data_store
|
|
@@ -855,10 +854,7 @@ class _NumbersModel(Cacheable):
|
|
|
855
854
|
|
|
856
855
|
for col, cells in enumerate(col_data):
|
|
857
856
|
num_rows = len(cells) - sum([isinstance(x, MergedCell) for x in cells])
|
|
858
|
-
|
|
859
|
-
width = self._col_widths[table_id][col]
|
|
860
|
-
else:
|
|
861
|
-
width = current_column_widths[col]
|
|
857
|
+
width = current_column_widths[col]
|
|
862
858
|
header = TSTArchives.HeaderStorageBucket.Header(
|
|
863
859
|
index=col,
|
|
864
860
|
numberOfCells=num_rows,
|
|
@@ -1039,19 +1035,10 @@ class _NumbersModel(Cacheable):
|
|
|
1039
1035
|
|
|
1040
1036
|
def table_height(self, table_id: int) -> int:
|
|
1041
1037
|
"""Return the height of a table in points."""
|
|
1042
|
-
table_model = self.objects[table_id]
|
|
1043
|
-
bds = self.objects[table_id].base_data_store
|
|
1044
|
-
buckets = self.objects[bds.rowHeaders.buckets[0].identifier].headers
|
|
1045
|
-
|
|
1046
1038
|
height = 0.0
|
|
1047
|
-
for
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
elif row is not None and buckets[i].size != 0.0:
|
|
1051
|
-
height += buckets[i].size
|
|
1052
|
-
else:
|
|
1053
|
-
height += table_model.default_row_height
|
|
1054
|
-
return round(height)
|
|
1039
|
+
for row in range(self.number_of_rows(table_id)):
|
|
1040
|
+
height += self.row_height(table_id, row)
|
|
1041
|
+
return floor(height)
|
|
1055
1042
|
|
|
1056
1043
|
def row_height(self, table_id: int, row: int, height: Optional[int] = None) -> int:
|
|
1057
1044
|
if height is not None:
|
|
@@ -1069,24 +1056,40 @@ class _NumbersModel(Cacheable):
|
|
|
1069
1056
|
buckets = self.objects[bucket_id].headers
|
|
1070
1057
|
bucket_map = {x.index: x for x in buckets}
|
|
1071
1058
|
if row in bucket_map and bucket_map[row].size != 0.0:
|
|
1072
|
-
|
|
1059
|
+
height = round(bucket_map[row].size)
|
|
1073
1060
|
else:
|
|
1074
|
-
|
|
1061
|
+
height = round(table_model.default_row_height)
|
|
1062
|
+
|
|
1063
|
+
data = self._table_data[table_id]
|
|
1064
|
+
max_top_border = max(
|
|
1065
|
+
[0.0]
|
|
1066
|
+
+ [
|
|
1067
|
+
data[row][col].border.top.width
|
|
1068
|
+
for col in range(len(data[row]))
|
|
1069
|
+
if data[row][col].border.top is not None
|
|
1070
|
+
]
|
|
1071
|
+
)
|
|
1072
|
+
max_bottom_border = max(
|
|
1073
|
+
[0.0]
|
|
1074
|
+
+ [
|
|
1075
|
+
data[row][col].border.bottom.width
|
|
1076
|
+
for col in range(len(data[row]))
|
|
1077
|
+
if data[row][col].border.bottom is not None
|
|
1078
|
+
]
|
|
1079
|
+
)
|
|
1080
|
+
height += max_top_border / 2
|
|
1081
|
+
height += max_bottom_border / 2
|
|
1082
|
+
|
|
1083
|
+
if table_id not in self._row_heights:
|
|
1084
|
+
self._row_heights[table_id] = {}
|
|
1085
|
+
self._row_heights[table_id][row] = floor(height)
|
|
1086
|
+
return self._row_heights[table_id][row]
|
|
1075
1087
|
|
|
1076
1088
|
def table_width(self, table_id: int) -> int:
|
|
1077
1089
|
"""Return the width of a table in points."""
|
|
1078
|
-
table_model = self.objects[table_id]
|
|
1079
|
-
bds = self.objects[table_id].base_data_store
|
|
1080
|
-
buckets = self.objects[bds.columnHeaders.identifier].headers
|
|
1081
|
-
|
|
1082
1090
|
width = 0.0
|
|
1083
|
-
for
|
|
1084
|
-
|
|
1085
|
-
width += self._col_widths[table_id][i]
|
|
1086
|
-
elif col is not None and buckets[i].size != 0.0:
|
|
1087
|
-
width += buckets[i].size
|
|
1088
|
-
else:
|
|
1089
|
-
width += table_model.default_column_width
|
|
1091
|
+
for row in range(self.number_of_columns(table_id)):
|
|
1092
|
+
width += self.col_width(table_id, row)
|
|
1090
1093
|
return round(width)
|
|
1091
1094
|
|
|
1092
1095
|
def col_width(self, table_id: int, col: int, width: Optional[int] = None) -> int:
|
|
@@ -1105,9 +1108,34 @@ class _NumbersModel(Cacheable):
|
|
|
1105
1108
|
buckets = self.objects[bucket_id].headers
|
|
1106
1109
|
bucket_map = {x.index: x for x in buckets}
|
|
1107
1110
|
if col in bucket_map and bucket_map[col].size != 0.0:
|
|
1108
|
-
|
|
1111
|
+
width = round(bucket_map[col].size)
|
|
1109
1112
|
else:
|
|
1110
|
-
|
|
1113
|
+
width = round(table_model.default_column_width)
|
|
1114
|
+
|
|
1115
|
+
data = self._table_data[table_id]
|
|
1116
|
+
max_left_border = max(
|
|
1117
|
+
[0.0]
|
|
1118
|
+
+ [
|
|
1119
|
+
data[row][col].border.left.width
|
|
1120
|
+
for row in range(len(data))
|
|
1121
|
+
if data[row][col].border.left is not None
|
|
1122
|
+
]
|
|
1123
|
+
)
|
|
1124
|
+
max_right_border = max(
|
|
1125
|
+
[0.0]
|
|
1126
|
+
+ [
|
|
1127
|
+
data[row][col].border.right.width
|
|
1128
|
+
for row in range(len(data))
|
|
1129
|
+
if data[row][col].border.right is not None
|
|
1130
|
+
]
|
|
1131
|
+
)
|
|
1132
|
+
width += max_left_border / 2
|
|
1133
|
+
width += max_right_border / 2
|
|
1134
|
+
|
|
1135
|
+
if table_id not in self._col_widths:
|
|
1136
|
+
self._col_widths[table_id] = {}
|
|
1137
|
+
self._col_widths[table_id][col] = floor(width)
|
|
1138
|
+
return self._col_widths[table_id][col]
|
|
1111
1139
|
|
|
1112
1140
|
def num_header_rows(self, table_id: int, num_headers: Optional[int] = None) -> int:
|
|
1113
1141
|
"""Return/set the number of header rows."""
|
|
@@ -1210,6 +1238,23 @@ class _NumbersModel(Cacheable):
|
|
|
1210
1238
|
"Tables/HeaderStorageBucket-{}",
|
|
1211
1239
|
)
|
|
1212
1240
|
|
|
1241
|
+
# caption_storage_id, caption_storage = self.objects.create_object_from_dict(
|
|
1242
|
+
# "CalculationEngine",
|
|
1243
|
+
# {"text": ["TEST Caption"]},
|
|
1244
|
+
# TSWPArchives.StorageArchive,
|
|
1245
|
+
# )
|
|
1246
|
+
# caption_info_id, caption_info = self.objects.create_object_from_dict(
|
|
1247
|
+
# "CalculationEngine",
|
|
1248
|
+
# {},
|
|
1249
|
+
# TSAArchives.CaptionInfoArchive,
|
|
1250
|
+
# )
|
|
1251
|
+
# caption_info.super.MergeFrom(TSWPArchives.ShapeInfoArchive())
|
|
1252
|
+
# caption_info.super.super.MergeFrom(TSDArchives.ShapeArchive())
|
|
1253
|
+
# caption_info.super.super.super.MergeFrom(TSDArchives.DrawableArchive())
|
|
1254
|
+
# caption_info.super.owned_storage.MergeFrom(
|
|
1255
|
+
# TSPMessages.Reference(identifier=caption_storage_id)
|
|
1256
|
+
# )
|
|
1257
|
+
|
|
1213
1258
|
style_table_id, _ = self.objects.create_object_from_dict(
|
|
1214
1259
|
"Index/Tables/DataList-{}",
|
|
1215
1260
|
{"listType": TSTArchives.TableDataList.ListType.STYLE, "nextListID": 1},
|
|
@@ -1275,11 +1320,11 @@ class _NumbersModel(Cacheable):
|
|
|
1275
1320
|
TSPMessages.Reference(identifier=row_headers_id),
|
|
1276
1321
|
)
|
|
1277
1322
|
|
|
1278
|
-
|
|
1323
|
+
self._table_data[table_model_id] = [
|
|
1279
1324
|
[Cell._empty_cell(table_model_id, row, col, self) for col in range(num_cols)]
|
|
1280
1325
|
for row in range(num_rows)
|
|
1281
1326
|
]
|
|
1282
|
-
self.recalculate_table_data(table_model_id,
|
|
1327
|
+
self.recalculate_table_data(table_model_id, self._table_data[table_model_id])
|
|
1283
1328
|
|
|
1284
1329
|
table_info_id, table_info = self.objects.create_object_from_dict(
|
|
1285
1330
|
"CalculationEngine",
|
|
@@ -2002,21 +2047,33 @@ class _NumbersModel(Cacheable):
|
|
|
2002
2047
|
cell._border.top = border_value
|
|
2003
2048
|
if (cell := self.cell_for_stroke(table_id, "bottom", row - 1, col)) is not None:
|
|
2004
2049
|
cell._border.bottom = border_value
|
|
2050
|
+
if table_id in self._row_heights:
|
|
2051
|
+
self._row_heights[table_id].pop(row, None)
|
|
2052
|
+
self._row_heights[table_id].pop(row - 1, None)
|
|
2005
2053
|
elif side == "right":
|
|
2006
2054
|
if (cell := self.cell_for_stroke(table_id, "right", row, col)) is not None:
|
|
2007
2055
|
cell._border.right = border_value
|
|
2008
2056
|
if (cell := self.cell_for_stroke(table_id, "left", row, col + 1)) is not None:
|
|
2009
2057
|
cell._border.left = border_value
|
|
2058
|
+
if table_id in self._col_widths:
|
|
2059
|
+
self._col_widths[table_id].pop(col, None)
|
|
2060
|
+
self._col_widths[table_id].pop(col + 1, None)
|
|
2010
2061
|
elif side == "bottom":
|
|
2011
2062
|
if (cell := self.cell_for_stroke(table_id, "bottom", row, col)) is not None:
|
|
2012
2063
|
cell._border.bottom = border_value
|
|
2013
2064
|
if (cell := self.cell_for_stroke(table_id, "top", row + 1, col)) is not None:
|
|
2014
2065
|
cell._border.top = border_value
|
|
2066
|
+
if table_id in self._row_heights:
|
|
2067
|
+
self._row_heights[table_id].pop(row, None)
|
|
2068
|
+
self._row_heights[table_id].pop(row + 1, None)
|
|
2015
2069
|
else: # left border
|
|
2016
2070
|
if (cell := self.cell_for_stroke(table_id, "left", row, col)) is not None:
|
|
2017
2071
|
cell._border.left = border_value
|
|
2018
2072
|
if (cell := self.cell_for_stroke(table_id, "right", row, col - 1)) is not None:
|
|
2019
2073
|
cell._border.right = border_value
|
|
2074
|
+
if table_id in self._col_widths:
|
|
2075
|
+
self._col_widths[table_id].pop(col, None)
|
|
2076
|
+
self._col_widths[table_id].pop(col - 1, None)
|
|
2020
2077
|
|
|
2021
2078
|
def extract_strokes_in_layers(self, table_id: int, layer_ids: List, side: str):
|
|
2022
2079
|
for layer_id in layer_ids:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: numbers-parser
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.11.3
|
|
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 14.
|
|
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.
|
|
@@ -1,59 +1,60 @@
|
|
|
1
1
|
numbers_parser/__init__.py,sha256=1guReSiMinXSKkip4UoC-a1X9OAgdiYTTDiZ03FDmqE,1411
|
|
2
2
|
numbers_parser/_cat_numbers.py,sha256=3tLvBQEagGcNL26XxfqguNim0JDtTNgEbiGKpLjBxLI,4623
|
|
3
|
-
numbers_parser/_unpack_numbers.py,sha256=
|
|
3
|
+
numbers_parser/_unpack_numbers.py,sha256=7B6AJ2GB-MzFdrKal_GMMgUWzVUZ5h9PsPJecGk2ppY,7032
|
|
4
4
|
numbers_parser/bullets.py,sha256=OnVVMPjhTDrC-ncw52Gb00UEXNmn2Rvd3xi7lfqW3hk,2616
|
|
5
|
-
numbers_parser/cell.py,sha256=
|
|
6
|
-
numbers_parser/constants.py,sha256=
|
|
5
|
+
numbers_parser/cell.py,sha256=18xi25ZoIOEwuOEX8T1FyLQBt0lx9jURE0gDIKjyGnI,76340
|
|
6
|
+
numbers_parser/constants.py,sha256=L9_UhsWMqswsn1sCr-aAx_7mR2k8IHYdhpe8t_CP6lM,9924
|
|
7
7
|
numbers_parser/containers.py,sha256=j0FhaXPUG5YSRK5_3WIxXQOeckHVu24KMlYetWIZ_Xg,4882
|
|
8
8
|
numbers_parser/currencies.py,sha256=8k4a3WKmDoHeurkDICymHX13N7ManHSTaka_JNXCZYA,3767
|
|
9
9
|
numbers_parser/data/empty.numbers,sha256=8JOp035V-p2ff9_Wao7mLcYvb6_if6O2cus_esjVA9k,90316
|
|
10
|
-
numbers_parser/document.py,sha256=
|
|
10
|
+
numbers_parser/document.py,sha256=duj6G2lFtVOEzY3uuR865KNfw0kWswtvLSXh604Wu6Q,59182
|
|
11
11
|
numbers_parser/exceptions.py,sha256=0Jnmw06YlGvYcvzqc2wiR2Y4eAgvFJLpf0tFrsmlyPU,607
|
|
12
12
|
numbers_parser/experimental.py,sha256=WARjTa-2ePb8Ga8Q6oDP6EJCs12ofLRF2YpwzUu66ZI,374
|
|
13
13
|
numbers_parser/formula.py,sha256=4KQIhS6NMOdvz9rLsaVqXGnUDA4QCDpH8Lrz516PoU0,10574
|
|
14
|
-
numbers_parser/generated/TNArchives_pb2.py,sha256=
|
|
14
|
+
numbers_parser/generated/TNArchives_pb2.py,sha256=Tq1UC2Ml1dzAQFIrz3Om-sGI903FBZmlN3GgYQNt4a8,15931
|
|
15
15
|
numbers_parser/generated/TNArchives_sos_pb2.py,sha256=AYI1X5t5Gb4l941jXlHEY0v97ToIze0bSYBR7KQmS0A,1215
|
|
16
|
-
numbers_parser/generated/TNCommandArchives_pb2.py,sha256=
|
|
16
|
+
numbers_parser/generated/TNCommandArchives_pb2.py,sha256=my5CgnWmqHa5p0NFf-aUC8aqEPz3-pXXlyz4UJmZKZE,18378
|
|
17
17
|
numbers_parser/generated/TNCommandArchives_sos_pb2.py,sha256=MhIENEtVylmebThyhglAwO6dhu23UuF2DvdxtUoEvf0,1857
|
|
18
|
-
numbers_parser/generated/TSAArchives_pb2.py,sha256=
|
|
18
|
+
numbers_parser/generated/TSAArchives_pb2.py,sha256=FqNAQf5ul602CJS0tvA5p-gEbuUUw3msI4WfkRrVg5k,19907
|
|
19
19
|
numbers_parser/generated/TSAArchives_sos_pb2.py,sha256=UlEScYhun_N-Cbr2v5RcgvJuwkloUuPJbrWxnQTOAfo,2033
|
|
20
20
|
numbers_parser/generated/TSACommandArchives_sos_pb2.py,sha256=dyjRN08Ly1qp5m3jcOE5yClARAzg5KyOYNMWyplRq8w,3907
|
|
21
21
|
numbers_parser/generated/TSCEArchives_pb2.py,sha256=BgV0Bw70bSLqs9v_q75HxT5_VTu4pb75AFVuOJUxOpo,64758
|
|
22
22
|
numbers_parser/generated/TSCH3DArchives_pb2.py,sha256=eV4GahEGv_3nGNgnN6xc3kfJ07UT3oALlLeJdh0GcQ4,11162
|
|
23
23
|
numbers_parser/generated/TSCHArchives_Common_pb2.py,sha256=dqgymAVSSQmjp3XuuXFRfXoSXhbQqaQXWbd-JUJs7Nc,8655
|
|
24
24
|
numbers_parser/generated/TSCHArchives_GEN_pb2.py,sha256=_v3oN76ohi0uDlzoIg6AZnGWyirjLzhBSRLunsFkSco,45616
|
|
25
|
-
numbers_parser/generated/TSCHArchives_pb2.py,sha256=
|
|
25
|
+
numbers_parser/generated/TSCHArchives_pb2.py,sha256=_Mu_VMDWeS7cEUNeta0UOm6v2oHYqXE-s5qT304t_Jg,23907
|
|
26
26
|
numbers_parser/generated/TSCHArchives_sos_pb2.py,sha256=xyzFKVpIc_SriTn-z_Y7-HkDSRwVfjwE_bl5WwHd0p0,63730
|
|
27
27
|
numbers_parser/generated/TSCHCommandArchives_pb2.py,sha256=DkJUuBn-LXiY3a5rXipzFxb2mvOthHOKXdjaxYgt0as,27446
|
|
28
28
|
numbers_parser/generated/TSCHPreUFFArchives_pb2.py,sha256=EWhd5HcquCEYeFac1hwlHJuWu1glbTicfa2MaKK-XPY,30051
|
|
29
|
+
numbers_parser/generated/TSCKArchives_pb2.py,sha256=VH7I8dHDyDxGdr3EefK7gp2ewHxwVW_U6xCxzJ1x_Ik,28105
|
|
30
|
+
numbers_parser/generated/TSCKArchives_sos_pb2.py,sha256=2zK3-z-pe1xrY1qut28VQjHRtSbq63SxrO0b_bfBj24,1945
|
|
29
31
|
numbers_parser/generated/TSDArchives_pb2.py,sha256=G5vUxZbx66eTdNgxbagUQmo6N7pvfoXwU07jBgv90cU,39093
|
|
30
32
|
numbers_parser/generated/TSDArchives_sos_pb2.py,sha256=Q2MYAXjAW-PGE3FY8kFH89rry9PPUQv7DS956wymFwo,6022
|
|
31
|
-
numbers_parser/generated/TSDCommandArchives_pb2.py,sha256=
|
|
32
|
-
numbers_parser/generated/TSKArchives_pb2.py,sha256=
|
|
33
|
-
numbers_parser/generated/TSKArchives_sos_pb2.py,sha256=Pi6hjw0g3JSrZ-y0gbqkojRB6_abYavqwoygiqmxgYE,1941
|
|
33
|
+
numbers_parser/generated/TSDCommandArchives_pb2.py,sha256=zMHr3_Koa9vGmkl2PMTnMptUCY2iOe1zJOWN6re2jQs,29291
|
|
34
|
+
numbers_parser/generated/TSKArchives_pb2.py,sha256=zh8bXgKdaHBNVHQ7rKf5PpV0vOmQG6HU9cY3BkEuSPk,26162
|
|
34
35
|
numbers_parser/generated/TSPArchiveMessages_pb2.py,sha256=5Th08Q19AOsMEMggvM9fda1StJjV8LTDDI5x7pY6aM8,17950
|
|
35
36
|
numbers_parser/generated/TSPDatabaseMessages_pb2.py,sha256=_jvq890xBQpSDcYOKgII30XlxukPBRZBu0kkRpbJ-z0,2024
|
|
36
37
|
numbers_parser/generated/TSPMessages_pb2.py,sha256=LBHRhNnQdDu226sh3gK_AOjbO3LDkGCWpVi1wzf7emA,13032
|
|
37
|
-
numbers_parser/generated/TSSArchives_pb2.py,sha256=
|
|
38
|
+
numbers_parser/generated/TSSArchives_pb2.py,sha256=7HGR32kgG6arl4uu08Tuop7brOFGgcRJIc0WKLbqCHI,9980
|
|
38
39
|
numbers_parser/generated/TSSArchives_sos_pb2.py,sha256=FAhtvQ9TBg18AcIk4HwGCreNWlEu3k_kK_9jRVsh7FM,2842
|
|
39
|
-
numbers_parser/generated/TSTArchives_pb2.py,sha256=
|
|
40
|
+
numbers_parser/generated/TSTArchives_pb2.py,sha256=PRNF8aceuLyEYmJunUG-R8PIa4ruWnKZThOy11o59Z4,88236
|
|
40
41
|
numbers_parser/generated/TSTArchives_sos_pb2.py,sha256=JxiMXSdTH5VJo-c5zDdD_tzGQCTrUDE2K0YP_x-zh84,12597
|
|
41
42
|
numbers_parser/generated/TSTCommandArchives_pb2.py,sha256=LEyGJBOLdhxVarepxGfHprNs8vIAmSCO-iNnl3Afdkk,59523
|
|
42
43
|
numbers_parser/generated/TSTStylePropertyArchiving_pb2.py,sha256=0ADsIwTk4GcTeQJRhYxEEjsD_SuLEOSUaGYdHnsO9CA,12415
|
|
43
|
-
numbers_parser/generated/TSWPArchives_pb2.py,sha256=
|
|
44
|
+
numbers_parser/generated/TSWPArchives_pb2.py,sha256=6bGFEo-lABOA8l1PbDG96GVd1vmB9PMaYFiqAiDsHdk,55432
|
|
44
45
|
numbers_parser/generated/TSWPArchives_sos_pb2.py,sha256=poJ49WA4JjZsHpmROyv4jFl2xGpJy6pTRCaJQZ5ZGr0,29114
|
|
45
|
-
numbers_parser/generated/TSWPCommandArchives_pb2.py,sha256=
|
|
46
|
+
numbers_parser/generated/TSWPCommandArchives_pb2.py,sha256=JmtH0x8SOh7PdhNtN2LfpGhmxJukzhXtJIIUACp-z2Y,25581
|
|
46
47
|
numbers_parser/generated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
48
|
numbers_parser/generated/fontmap.py,sha256=pqc1HwwTr3UbFMmhUaHJg1dX5-3pXbyhfS2bkdZHKnI,22748
|
|
48
49
|
numbers_parser/generated/functionmap.py,sha256=VdZo0ERMYONcrnJFwABcSCHb8pjA4wY2ogt8Janz57M,6082
|
|
49
|
-
numbers_parser/generated/mapping.py,sha256=
|
|
50
|
+
numbers_parser/generated/mapping.py,sha256=xt1NaZtTse1OX3vBizENKkWl-0OgNb4SMJ0Uo-rRz0U,32342
|
|
50
51
|
numbers_parser/iwafile.py,sha256=4_MMtHdWMAfIzwODyaM7DsWKh-8yJ2blTfbues8sbdI,11915
|
|
51
52
|
numbers_parser/iwork.py,sha256=CXXM797MqcIokovrIBAx--LNG7tIVpKqeBwR4V2OrzQ,9141
|
|
52
|
-
numbers_parser/model.py,sha256=
|
|
53
|
+
numbers_parser/model.py,sha256=MIubQNU4-tgkUJLGJ16Ih1Kzf-FI2IRkO4jLmKgrh8Q,100476
|
|
53
54
|
numbers_parser/numbers_cache.py,sha256=1ghEBghQAYFpPiEeOtb74i016mXc039v1pOubbqvaLs,1141
|
|
54
55
|
numbers_parser/numbers_uuid.py,sha256=q0IbHFKuBXC7MnZN3g55dgCVKOLD-4SO4MdXeN6dt0g,2699
|
|
55
|
-
numbers_parser-4.
|
|
56
|
-
numbers_parser-4.
|
|
57
|
-
numbers_parser-4.
|
|
58
|
-
numbers_parser-4.
|
|
59
|
-
numbers_parser-4.
|
|
56
|
+
numbers_parser-4.11.3.dist-info/LICENSE.rst,sha256=8vTa1-5KSdHrTpU9rlheO5005EWReEPMpjV7BjSaMc4,1050
|
|
57
|
+
numbers_parser-4.11.3.dist-info/METADATA,sha256=D6UaDldNfFKNrL1XLSvShIJwePq1hpA5i1AyGMKp7pk,16212
|
|
58
|
+
numbers_parser-4.11.3.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
59
|
+
numbers_parser-4.11.3.dist-info/entry_points.txt,sha256=V91uB9vBPxf3eCY1h-0syv21imYCT0MJfMxf87DmwIk,115
|
|
60
|
+
numbers_parser-4.11.3.dist-info/RECORD,,
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
-
# source: TSKArchives_sos.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.TSKArchives_pb2 as TSKArchives__pb2
|
|
15
|
-
import numbers_parser.generated.TSPMessages_pb2 as TSPMessages__pb2
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15TSKArchives_sos.proto\x12\x06TSKSOS\x1a\x11TSKArchives.proto\x1a\x11TSPMessages.proto\"\x8c\x01\n\x1e\x46ixCorruptedDataCommandArchive\x12\"\n\x05super\x18\x01 \x02(\x0b\x32\x13.TSK.CommandArchive\x12\x1d\n\x15\x63orrupted_digest_list\x18\x02 \x03(\t\x12\'\n\x1f\x63orrupted_digest_list_undefined\x18\x03 \x01(\x08\"\x98\x01\n%RemoveAuthorIdentifiersCommandArchive\x12\"\n\x05super\x18\x01 \x02(\x0b\x32\x13.TSK.CommandArchive\x12%\n\x12\x61uthor_identifiers\x18\x02 \x03(\x0b\x32\t.TSP.UUID\x12$\n\x1c\x61uthor_identifiers_undefined\x18\x03 \x01(\x08\"G\n!ResetActivityStreamCommandArchive\x12\"\n\x05super\x18\x01 \x02(\x0b\x32\x13.TSK.CommandArchive')
|
|
19
|
-
|
|
20
|
-
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
21
|
-
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'TSKArchives_sos_pb2', globals())
|
|
22
|
-
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
23
|
-
|
|
24
|
-
DESCRIPTOR._options = None
|
|
25
|
-
_FIXCORRUPTEDDATACOMMANDARCHIVE._serialized_start=72
|
|
26
|
-
_FIXCORRUPTEDDATACOMMANDARCHIVE._serialized_end=212
|
|
27
|
-
_REMOVEAUTHORIDENTIFIERSCOMMANDARCHIVE._serialized_start=215
|
|
28
|
-
_REMOVEAUTHORIDENTIFIERSCOMMANDARCHIVE._serialized_end=367
|
|
29
|
-
_RESETACTIVITYSTREAMCOMMANDARCHIVE._serialized_start=369
|
|
30
|
-
_RESETACTIVITYSTREAMCOMMANDARCHIVE._serialized_end=440
|
|
31
|
-
# @@protoc_insertion_point(module_scope)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|