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.
Files changed (32) hide show
  1. numbers_parser/__init__.py +1 -1
  2. numbers_parser/_cat_numbers.py +4 -4
  3. numbers_parser/_unpack_numbers.py +5 -5
  4. numbers_parser/cell.py +119 -119
  5. numbers_parser/constants.py +5 -6
  6. numbers_parser/containers.py +11 -8
  7. numbers_parser/document.py +135 -113
  8. numbers_parser/exceptions.py +0 -7
  9. numbers_parser/formula.py +3 -4
  10. numbers_parser/generated/TNArchives_pb2.py +24 -26
  11. numbers_parser/generated/TSAArchives_pb2.py +26 -28
  12. numbers_parser/generated/TSCEArchives_pb2.py +8 -10
  13. numbers_parser/generated/TSCHArchives_GEN_pb2.py +28 -34
  14. numbers_parser/generated/TSCHArchives_pb2.py +61 -65
  15. numbers_parser/generated/TSDArchives_pb2.py +100 -110
  16. numbers_parser/generated/TSKArchives_pb2.py +168 -170
  17. numbers_parser/generated/TSPArchiveMessages_pb2.py +32 -34
  18. numbers_parser/generated/TSPMessages_pb2.py +40 -40
  19. numbers_parser/generated/TSSArchives_pb2.py +36 -36
  20. numbers_parser/generated/TSTArchives_pb2.py +321 -325
  21. numbers_parser/generated/TSTStylePropertyArchiving_pb2.py +8 -10
  22. numbers_parser/generated/TSWPArchives_pb2.py +250 -286
  23. numbers_parser/generated/TSWPCommandArchives_pb2.py +95 -95
  24. numbers_parser/iwafile.py +16 -16
  25. numbers_parser/iwork.py +35 -29
  26. numbers_parser/model.py +64 -52
  27. numbers_parser/numbers_uuid.py +6 -4
  28. {numbers_parser-4.10.4.dist-info → numbers_parser-4.10.5.dist-info}/METADATA +7 -7
  29. {numbers_parser-4.10.4.dist-info → numbers_parser-4.10.5.dist-info}/RECORD +32 -32
  30. {numbers_parser-4.10.4.dist-info → numbers_parser-4.10.5.dist-info}/LICENSE.rst +0 -0
  31. {numbers_parser-4.10.4.dist-info → numbers_parser-4.10.5.dist-info}/WHEEL +0 -0
  32. {numbers_parser-4.10.4.dist-info → numbers_parser-4.10.5.dist-info}/entry_points.txt +0 -0
@@ -86,6 +86,7 @@ SUPPORTED_NUMBERS_VERSIONS = [
86
86
  "13.0",
87
87
  "13.1",
88
88
  "13.2",
89
+ "14.0",
89
90
  ]
90
91
 
91
92
 
@@ -134,7 +135,7 @@ DATETIME_FIELD_MAP = OrderedDict(
134
135
  ("SSS", lambda x: str(x.microsecond).zfill(6)[0:3]),
135
136
  ("SSSS", lambda x: str(x.microsecond).zfill(6)[0:4]),
136
137
  ("SSSSS", lambda x: str(x.microsecond).zfill(6)[0:5]),
137
- ]
138
+ ],
138
139
  )
139
140
 
140
141
 
@@ -255,8 +256,7 @@ CUSTOM_FORMATTING_ALLOWED_CELLS = {
255
256
 
256
257
  @enum_tools.documentation.document_enum
257
258
  class NegativeNumberStyle(IntEnum):
258
- """
259
- How negative numbers are formatted.
259
+ """How negative numbers are formatted.
260
260
 
261
261
  This enum is used in cell data formats and cell custom formats using the
262
262
  `negative_style` keyword argument.
@@ -274,8 +274,7 @@ class NegativeNumberStyle(IntEnum):
274
274
 
275
275
  @enum_tools.documentation.document_enum
276
276
  class FractionAccuracy(IntEnum):
277
- """
278
- How fractions are formatted.
277
+ """How fractions are formatted.
279
278
 
280
279
  This enum is used in cell data formats and cell custom formats using the
281
280
  `fraction_accuracy` keyword argument.
@@ -389,7 +388,7 @@ CONTROL_CELL_TYPE_MAP = {
389
388
 
390
389
  @enum_tools.documentation.document_enum
391
390
  class PaddingType(IntEnum):
392
- """How integers and decimals are padded in custom number formats"""
391
+ """How integers and decimals are padded in custom number formats."""
393
392
 
394
393
  NONE = 0
395
394
  """No number padding."""
@@ -8,7 +8,7 @@ from numbers_parser.iwork import IWork, IWorkHandler
8
8
 
9
9
 
10
10
  class ItemsList:
11
- def __init__(self, model, refs, item_class):
11
+ def __init__(self, model, refs, item_class) -> None:
12
12
  self._item_name = item_class.__name__.lower()
13
13
  self._items = [item_class(model, id) for id in refs]
14
14
 
@@ -17,21 +17,24 @@ class ItemsList:
17
17
  if key < 0:
18
18
  key += len(self._items)
19
19
  if key >= len(self._items):
20
- raise IndexError(f"index {key} out of range")
20
+ msg = f"index {key} out of range"
21
+ raise IndexError(msg)
21
22
  return self._items[key]
22
23
  elif isinstance(key, str):
23
24
  for item in self._items:
24
25
  if item.name == key:
25
26
  return item
26
- raise KeyError(f"no {self._item_name} named '{key}'")
27
+ msg = f"no {self._item_name} named '{key}'"
28
+ raise KeyError(msg)
27
29
  else:
28
30
  t = type(key).__name__
29
- raise LookupError(f"invalid index type {t}")
31
+ msg = f"invalid index type {t}"
32
+ raise LookupError(msg)
30
33
 
31
34
  def __len__(self) -> int:
32
35
  return len(self._items)
33
36
 
34
- def __contains__(self, key):
37
+ def __contains__(self, key) -> bool:
35
38
  return key.lower() in [x.name.lower() for x in self._items]
36
39
 
37
40
  def append(self, item):
@@ -62,12 +65,12 @@ class ObjectStore(IWorkHandler):
62
65
 
63
66
  def allowed_format(self, extension: str) -> bool:
64
67
  """bool: Return ``True`` if the filename extension is supported by the handler."""
65
- return True if extension == ".numbers" else False
68
+ return extension == ".numbers"
66
69
 
67
70
  def allowed_version(self, version: str) -> bool:
68
71
  """bool: Return ``True`` if the document version is allowed."""
69
72
  version = re.sub(r"(\d+)\.(\d+)\.\d+", r"\1.\2", version)
70
- return True if version in SUPPORTED_NUMBERS_VERSIONS else False
73
+ return version in SUPPORTED_NUMBERS_VERSIONS
71
74
 
72
75
  def new_message_id(self):
73
76
  """Return the next available message ID for object creation."""
@@ -115,7 +118,7 @@ class ObjectStore(IWorkHandler):
115
118
  def __getitem__(self, key: str):
116
119
  return self._objects[key]
117
120
 
118
- def __contains__(self, key: str):
121
+ def __contains__(self, key: str) -> bool:
119
122
  return key in self._objects
120
123
 
121
124
  def __len__(self) -> int: