tplinkrouterc6u 5.6.1__tar.gz → 5.6.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.
Files changed (37) hide show
  1. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/PKG-INFO +7 -4
  2. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/README.md +4 -2
  3. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/setup.py +1 -1
  4. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client/deco.py +18 -0
  5. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u.egg-info/PKG-INFO +7 -4
  6. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/LICENSE +0 -0
  7. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/setup.cfg +0 -0
  8. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/test/__init__.py +0 -0
  9. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/test/test_client_c1200.py +0 -0
  10. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/test/test_client_c6u.py +0 -0
  11. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/test/test_client_c80.py +0 -0
  12. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/test/test_client_deco.py +0 -0
  13. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/test/test_client_ex.py +0 -0
  14. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/test/test_client_mr.py +0 -0
  15. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/test/test_client_xdr.py +0 -0
  16. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/__init__.py +0 -0
  17. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client/__init__.py +0 -0
  18. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client/c1200.py +0 -0
  19. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client/c5400x.py +0 -0
  20. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client/c6u.py +0 -0
  21. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client/c80.py +0 -0
  22. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client/ex.py +0 -0
  23. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client/mr.py +0 -0
  24. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client/vr.py +0 -0
  25. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client/xdr.py +0 -0
  26. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/client_abstract.py +0 -0
  27. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/common/__init__.py +0 -0
  28. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/common/dataclass.py +0 -0
  29. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/common/encryption.py +0 -0
  30. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/common/exception.py +0 -0
  31. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/common/helper.py +0 -0
  32. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/common/package_enum.py +0 -0
  33. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u/provider.py +0 -0
  34. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u.egg-info/SOURCES.txt +0 -0
  35. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u.egg-info/dependency_links.txt +0 -0
  36. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u.egg-info/requires.txt +0 -0
  37. {tplinkrouterc6u-5.6.1 → tplinkrouterc6u-5.6.2}/tplinkrouterc6u.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: tplinkrouterc6u
3
- Version: 5.6.1
3
+ Version: 5.6.2
4
4
  Summary: TP-Link Router API (supports also Mercusys Router)
5
5
  Home-page: https://github.com/AlexandrErohin/TP-Link-Archer-C6U
6
6
  Author: Alex Erohin
@@ -25,6 +25,7 @@ Dynamic: classifier
25
25
  Dynamic: description
26
26
  Dynamic: description-content-type
27
27
  Dynamic: home-page
28
+ Dynamic: license-file
28
29
  Dynamic: requires-dist
29
30
  Dynamic: requires-python
30
31
  Dynamic: summary
@@ -292,8 +293,7 @@ or you have TP-link C5400X or similar router you need to get web encrypted passw
292
293
  - Archer A9 V6
293
294
  - Archer AX10 v1.0
294
295
  - Archer AX12 v1.0
295
- - Archer AX20 v1.0
296
- - Archer AX20 v3.0
296
+ - Archer AX20 (v1.0, v3.0)
297
297
  - Archer AX21 (v1.20, v3.0)
298
298
  - Archer AX23 (v1.0, v1.2)
299
299
  - Archer AX50 v1.0
@@ -317,6 +317,7 @@ or you have TP-link C5400X or similar router you need to get web encrypted passw
317
317
  - Archer C6 (v2.0, v3.0, 4.0)
318
318
  - Archer C6U v1.0
319
319
  - Archer C7 (v4.0, v5.0)
320
+ - Archer C24 (1.0, 2.0)
320
321
  - Archer C60 v2.0
321
322
  - Archer C80 (1.0, 2.20)
322
323
  - Archer C5400X V1
@@ -349,11 +350,13 @@ or you have TP-link C5400X or similar router you need to get web encrypted passw
349
350
  - TL-MR105
350
351
  - TL-MR6400 (v5, v5.3)
351
352
  - TL-MR6500v
353
+ - TL-WA1201 3.0
352
354
  - TL-WA3001 v1.0
353
355
  - TL-XDR3010 V2
354
356
  - XC220-G3v v2.30
355
357
  ### <a id="mercusys">MERCUSYS routers</a>
356
358
  - MR47BE v1.0
359
+ - MR50G 1.0
357
360
  - H60XR 1.0
358
361
 
359
362
  Please let me know if you have tested integration with any other model. Open an issue with info about router's model, hardware and firmware versions.
@@ -261,8 +261,7 @@ or you have TP-link C5400X or similar router you need to get web encrypted passw
261
261
  - Archer A9 V6
262
262
  - Archer AX10 v1.0
263
263
  - Archer AX12 v1.0
264
- - Archer AX20 v1.0
265
- - Archer AX20 v3.0
264
+ - Archer AX20 (v1.0, v3.0)
266
265
  - Archer AX21 (v1.20, v3.0)
267
266
  - Archer AX23 (v1.0, v1.2)
268
267
  - Archer AX50 v1.0
@@ -286,6 +285,7 @@ or you have TP-link C5400X or similar router you need to get web encrypted passw
286
285
  - Archer C6 (v2.0, v3.0, 4.0)
287
286
  - Archer C6U v1.0
288
287
  - Archer C7 (v4.0, v5.0)
288
+ - Archer C24 (1.0, 2.0)
289
289
  - Archer C60 v2.0
290
290
  - Archer C80 (1.0, 2.20)
291
291
  - Archer C5400X V1
@@ -318,11 +318,13 @@ or you have TP-link C5400X or similar router you need to get web encrypted passw
318
318
  - TL-MR105
319
319
  - TL-MR6400 (v5, v5.3)
320
320
  - TL-MR6500v
321
+ - TL-WA1201 3.0
321
322
  - TL-WA3001 v1.0
322
323
  - TL-XDR3010 V2
323
324
  - XC220-G3v v2.30
324
325
  ### <a id="mercusys">MERCUSYS routers</a>
325
326
  - MR47BE v1.0
327
+ - MR50G 1.0
326
328
  - H60XR 1.0
327
329
 
328
330
  Please let me know if you have tested integration with any other model. Open an issue with info about router's model, hardware and firmware versions.
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="tplinkrouterc6u",
8
- version="5.6.1",
8
+ version="5.6.2",
9
9
  author="Alex Erohin",
10
10
  author_email="alexanderErohin@yandex.ru",
11
11
  description="TP-Link Router API (supports also Mercusys Router)",
@@ -1,5 +1,7 @@
1
1
  from base64 import b64decode
2
2
  from json import dumps
3
+ from requests.exceptions import ConnectTimeout
4
+ from collections.abc import Callable
3
5
  from macaddress import EUI48
4
6
  from ipaddress import IPv4Address
5
7
  from logging import Logger
@@ -149,6 +151,22 @@ class TPLinkDecoClient(TplinkEncryption, AbstractRouter):
149
151
 
150
152
  return ipv4_status
151
153
 
154
+ def authorize(self) -> None:
155
+ self._retry_request(super().authorize)
156
+
157
+ def request(self, path: str, data: str, ignore_response: bool = False, ignore_errors: bool = False) -> dict | None:
158
+ return self._retry_request(super().request, path, data, ignore_response, ignore_errors)
159
+
160
+ def _retry_request(self, callback: Callable, *args):
161
+ retries = 0
162
+ while True:
163
+ try:
164
+ return callback(*args)
165
+ except ConnectTimeout as err:
166
+ if retries > 2:
167
+ raise err
168
+ retries += 1
169
+
152
170
  def _map_wire_type(self, data: dict) -> Connection:
153
171
  if data.get('wire_type') == 'wired':
154
172
  return Connection.WIRED
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: tplinkrouterc6u
3
- Version: 5.6.1
3
+ Version: 5.6.2
4
4
  Summary: TP-Link Router API (supports also Mercusys Router)
5
5
  Home-page: https://github.com/AlexandrErohin/TP-Link-Archer-C6U
6
6
  Author: Alex Erohin
@@ -25,6 +25,7 @@ Dynamic: classifier
25
25
  Dynamic: description
26
26
  Dynamic: description-content-type
27
27
  Dynamic: home-page
28
+ Dynamic: license-file
28
29
  Dynamic: requires-dist
29
30
  Dynamic: requires-python
30
31
  Dynamic: summary
@@ -292,8 +293,7 @@ or you have TP-link C5400X or similar router you need to get web encrypted passw
292
293
  - Archer A9 V6
293
294
  - Archer AX10 v1.0
294
295
  - Archer AX12 v1.0
295
- - Archer AX20 v1.0
296
- - Archer AX20 v3.0
296
+ - Archer AX20 (v1.0, v3.0)
297
297
  - Archer AX21 (v1.20, v3.0)
298
298
  - Archer AX23 (v1.0, v1.2)
299
299
  - Archer AX50 v1.0
@@ -317,6 +317,7 @@ or you have TP-link C5400X or similar router you need to get web encrypted passw
317
317
  - Archer C6 (v2.0, v3.0, 4.0)
318
318
  - Archer C6U v1.0
319
319
  - Archer C7 (v4.0, v5.0)
320
+ - Archer C24 (1.0, 2.0)
320
321
  - Archer C60 v2.0
321
322
  - Archer C80 (1.0, 2.20)
322
323
  - Archer C5400X V1
@@ -349,11 +350,13 @@ or you have TP-link C5400X or similar router you need to get web encrypted passw
349
350
  - TL-MR105
350
351
  - TL-MR6400 (v5, v5.3)
351
352
  - TL-MR6500v
353
+ - TL-WA1201 3.0
352
354
  - TL-WA3001 v1.0
353
355
  - TL-XDR3010 V2
354
356
  - XC220-G3v v2.30
355
357
  ### <a id="mercusys">MERCUSYS routers</a>
356
358
  - MR47BE v1.0
359
+ - MR50G 1.0
357
360
  - H60XR 1.0
358
361
 
359
362
  Please let me know if you have tested integration with any other model. Open an issue with info about router's model, hardware and firmware versions.
File without changes