DLMS-SPODES-client 0.19.9__tar.gz → 0.19.11__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.
Files changed (79) hide show
  1. {dlms_spodes_client-0.19.9/src/DLMS_SPODES_client.egg-info → dlms_spodes_client-0.19.11}/PKG-INFO +2 -2
  2. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/pyproject.toml +2 -2
  3. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/client.py +6 -6
  4. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/task.py +3 -3
  5. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11/src/DLMS_SPODES_client.egg-info}/PKG-INFO +2 -2
  6. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client.egg-info/requires.txt +1 -1
  7. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/.gitignore +0 -0
  8. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/README.md +0 -0
  9. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/setup.cfg +0 -0
  10. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/FCS16.py +0 -0
  11. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/__init__.py +0 -0
  12. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_common/enums/TraceLevel.py +0 -0
  13. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_common/enums/__init__.py +0 -0
  14. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/AesGcmParameter.py +0 -0
  15. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/CountType.py +0 -0
  16. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXByteBuffer.py +0 -0
  17. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXCiphering.py +0 -0
  18. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXDLMS.py +0 -0
  19. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXDLMSChippering.py +0 -0
  20. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXDLMSChipperingStream.py +0 -0
  21. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXDLMSConfirmedServiceError.py +0 -0
  22. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXDLMSException.py +0 -0
  23. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXDLMSLNParameters.py +0 -0
  24. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXDLMSSNParameters.py +0 -0
  25. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXDLMSSettings.py +0 -0
  26. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/GXReplyData.py +0 -0
  27. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/HdlcControlFrame.py +0 -0
  28. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/MBusCommand.py +0 -0
  29. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/MBusEncryptionMode.py +0 -0
  30. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/ResponseType.py +0 -0
  31. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/SetResponseType.py +0 -0
  32. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/_HDLCInfo.py +0 -0
  33. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/__init__.py +0 -0
  34. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/Access.py +0 -0
  35. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/ApplicationReference.py +0 -0
  36. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/Authentication.py +0 -0
  37. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/BerType.py +0 -0
  38. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/Command.py +0 -0
  39. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/Definition.py +0 -0
  40. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/ErrorCode.py +0 -0
  41. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/ExceptionServiceError.py +0 -0
  42. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/HardwareResource.py +0 -0
  43. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/HdlcFrameType.py +0 -0
  44. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/Initiate.py +0 -0
  45. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/LoadDataSet.py +0 -0
  46. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/ObjectType.py +0 -0
  47. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/Priority.py +0 -0
  48. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/RequestTypes.py +0 -0
  49. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/Security.py +0 -0
  50. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/Service.py +0 -0
  51. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/ServiceClass.py +0 -0
  52. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/ServiceError.py +0 -0
  53. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/Standard.py +0 -0
  54. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/StateError.py +0 -0
  55. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/Task.py +0 -0
  56. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/VdeStateError.py +0 -0
  57. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/enums/__init__.py +0 -0
  58. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/gurux_dlms/internal/_GXCommon.py +0 -0
  59. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/logger.py +0 -0
  60. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/py.typed +0 -0
  61. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/services.py +0 -0
  62. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/session.py +0 -0
  63. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client/settings.py +0 -0
  64. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client.egg-info/SOURCES.txt +0 -0
  65. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client.egg-info/dependency_links.txt +0 -0
  66. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client.egg-info/entry_points.txt +0 -0
  67. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/src/DLMS_SPODES_client.egg-info/top_level.txt +0 -0
  68. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/Firmwares/firmwares.dat +0 -0
  69. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/Firmwares/firmwares_1_2_11.dat +0 -0
  70. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/Firmwares/firmwares_1_7_2.dat +0 -0
  71. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/Types/303030/0000600101ff020009054d324d5f31/0000600102ff02000906312e332e3330.xml +0 -0
  72. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/Types/313031/0000600101ff020009054d324d5f31/0000600102ff02000906312e322e3131.xml +0 -0
  73. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/client_log.txt +0 -0
  74. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/config.toml +0 -0
  75. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/name2.csv +0 -0
  76. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/test_Client.py +0 -0
  77. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/test_logger.py +0 -0
  78. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test/test_services.py +0 -0
  79. {dlms_spodes_client-0.19.9 → dlms_spodes_client-0.19.11}/test//320/272/320/276/320/275/321/204/320/270/320/263/321/203/321/200/320/260/321/206/320/270/321/217 GSM.csv" +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: DLMS_SPODES_client
3
- Version: 0.19.9
3
+ Version: 0.19.11
4
4
  Summary: dlms-spodes
5
5
  Author-email: Serj Kotilevski <youserj@outlook.com>
6
6
  Project-URL: Source, https://github.com/youserj/SPODESclient_prj
@@ -13,7 +13,7 @@ Description-Content-Type: text/markdown
13
13
  Requires-Dist: pydantic>=2.11
14
14
  Requires-Dist: pycryptodomex>=3.22.0
15
15
  Requires-Dist: semver>=3.0
16
- Requires-Dist: StructResult<0.10,>=0.9.1
16
+ Requires-Dist: StructResult<0.10,>=0.9.2
17
17
  Requires-Dist: DLMS-SPODES-communications<1.5,>=1.4.9
18
18
  Requires-Dist: DLMS_SPODES<0.88,>=0.87.6
19
19
  Requires-Dist: DLMSadapter<0.8,>=0.7.5
@@ -15,7 +15,7 @@ exclude = ["Types"]
15
15
 
16
16
  [project]
17
17
  name = "DLMS_SPODES_client"
18
- version = "0.19.9"
18
+ version = "0.19.11"
19
19
  requires-python = ">= 3.12"
20
20
  authors = [
21
21
  {name="Serj Kotilevski", email="youserj@outlook.com"}
@@ -24,7 +24,7 @@ dependencies = [
24
24
  "pydantic>=2.11",
25
25
  "pycryptodomex >= 3.22.0",
26
26
  "semver >= 3.0",
27
- "StructResult >= 0.9.1, <0.10",
27
+ "StructResult >= 0.9.2, <0.10",
28
28
  "DLMS-SPODES-communications >= 1.4.9, <1.5",
29
29
  "DLMS_SPODES >= 0.87.6, < 0.88",
30
30
  "DLMSadapter >= 0.7.5, < 0.8",
@@ -318,7 +318,7 @@ class Client:
318
318
  self.reply.blockNumberAck = bna
319
319
  self.settings.blockNumberAck = self.reply.blockNumber
320
320
  self.reply.command = None
321
- len_, _ = cdt.get_length_and_pdu(self.reply.data.get_data()) # _GXCommon.getObjectCount(self.reply.data)
321
+ len_ = _GXCommon.getObjectCount(self.reply.data)
322
322
  if len_ > self.reply.data.size - self.reply.data.position:
323
323
  self.reply.complete = False
324
324
  return
@@ -369,7 +369,7 @@ class Client:
369
369
  match self.reply.data.getUInt8(): # DataBlock-G.result
370
370
  case 0:
371
371
  if self.reply.data.position != len(self.reply.data):
372
- block_length, _ = cdt.get_length_and_pdu(self.reply.data.get_data()) # _GXCommon.getObjectCount(self.reply.data)
372
+ block_length = _GXCommon.getObjectCount(self.reply.data)
373
373
  if (self.reply.moreData & RequestTypes.FRAME) == 0:
374
374
  if block_length > len(self.reply.data) - self.reply.data.position:
375
375
  raise ValueError("Invalid block length.")
@@ -416,7 +416,7 @@ class Client:
416
416
  case pdu.SetResponse.LAST_DATABLOCK_WITH_LIST:
417
417
  raise ValueError("Not released in Client")
418
418
  case pdu.SetResponse.WITH_LIST:
419
- cnt, _ = cdt.get_length_and_pdu(self.reply.data.get_data()) # _GXCommon.getObjectCount(self.reply.data)
419
+ cnt = _GXCommon.getObjectCount(self.reply.data)
420
420
  pos = 0
421
421
  while pos != cnt:
422
422
  self.reply.error = pdu.DataAccessResult(self.reply.data.getUInt8())
@@ -425,7 +425,7 @@ class Client:
425
425
  pos += 1
426
426
  case err: raise ValueError(F"Got Invalid Set response {err}, expect {', '.join(map(lambda it: F'{it.name} = {it.value}', pdu.SetResponse))}")
427
427
  case XDLMSAPDU.WRITE_RESPONSE:
428
- cnt, _ = cdt.get_length_and_pdu(self.reply.data.get_data()) # _GXCommon.getObjectCount(self.reply.data)
428
+ cnt = _GXCommon.getObjectCount(self.reply.data)
429
429
  pos = 0
430
430
  while pos != cnt:
431
431
  ret = self.reply.data.getUInt8()
@@ -569,7 +569,7 @@ class Client:
569
569
  pass
570
570
  case XDLMSAPDU.GATEWAY_RESPONSE:
571
571
  self.reply.data.getUInt8()
572
- len_, _ = cdt.get_length_and_pdu(self.reply.data.get_data()) # _GXCommon.getObjectCount(self.reply.data)
572
+ len_ = _GXCommon.getObjectCount(self.reply.data)
573
573
  pda = bytearray(len_)
574
574
  self.reply.data.get(pda)
575
575
  GXDLMS.getDataFromBlock(self.reply, index)
@@ -1144,7 +1144,7 @@ class Client:
1144
1144
  else:
1145
1145
  if tag != (BerType.APPLICATION | BerType.CONSTRUCTED | AARQapdu.APPLICATION_CONTEXT_NAME):
1146
1146
  raise ValueError("Invalid tag.")
1147
- if cdt.get_length_and_pdu(buff)[0] > len(buff) - buff.position: # _GXCommon.getObjectCount(buff)
1147
+ if _GXCommon.getObjectCount(buff) > len(buff) - buff.position:
1148
1148
  raise ValueError("PDU: Not enough data.")
1149
1149
  resultComponent = AssociationResult.ACCEPTED
1150
1150
  resultDiagnosticValue = AcseServiceUser.NULL
@@ -1036,9 +1036,9 @@ class Par2Data[T: cdt.CommonDataType](SimpleCopy, CDT[T]):
1036
1036
  msg: str = "read data by Parameter"
1037
1037
 
1038
1038
  async def exchange(self, c: Client) -> result.SimpleOrError[T]:
1039
- if isinstance((res := c.objects.par2obj(self.par)), result.Error):
1040
- return res
1041
- if isinstance((res := await ReadObjAttr(res.value, self.par.i).exchange(c)), result.Error):
1039
+ if isinstance((res_obj := c.objects.par2obj(self.par)), result.Error):
1040
+ return res_obj
1041
+ if isinstance((res := await ReadObjAttr(res_obj.value, self.par.i).exchange(c)), result.Error):
1042
1042
  return res
1043
1043
  for el in self.par.elements():
1044
1044
  res.value = res.value[el]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: DLMS_SPODES_client
3
- Version: 0.19.9
3
+ Version: 0.19.11
4
4
  Summary: dlms-spodes
5
5
  Author-email: Serj Kotilevski <youserj@outlook.com>
6
6
  Project-URL: Source, https://github.com/youserj/SPODESclient_prj
@@ -13,7 +13,7 @@ Description-Content-Type: text/markdown
13
13
  Requires-Dist: pydantic>=2.11
14
14
  Requires-Dist: pycryptodomex>=3.22.0
15
15
  Requires-Dist: semver>=3.0
16
- Requires-Dist: StructResult<0.10,>=0.9.1
16
+ Requires-Dist: StructResult<0.10,>=0.9.2
17
17
  Requires-Dist: DLMS-SPODES-communications<1.5,>=1.4.9
18
18
  Requires-Dist: DLMS_SPODES<0.88,>=0.87.6
19
19
  Requires-Dist: DLMSadapter<0.8,>=0.7.5
@@ -1,7 +1,7 @@
1
1
  pydantic>=2.11
2
2
  pycryptodomex>=3.22.0
3
3
  semver>=3.0
4
- StructResult<0.10,>=0.9.1
4
+ StructResult<0.10,>=0.9.2
5
5
  DLMS-SPODES-communications<1.5,>=1.4.9
6
6
  DLMS_SPODES<0.88,>=0.87.6
7
7
  DLMSadapter<0.8,>=0.7.5