mirror of
				https://github.com/KevinMidboe/mktxp-no-cli.git
				synced 2025-10-29 17:50:23 +00:00 
			
		
		
		
	Merge pull request #48 from M0r13n/fix-decode-error
monkey match the upstream API wrapper
This commit is contained in:
		| @@ -14,10 +14,23 @@ | ||||
|  | ||||
| import ssl | ||||
| import socket | ||||
| import collections | ||||
| from datetime import datetime | ||||
| from routeros_api import RouterOsApiPool | ||||
| from mktxp.cli.config.config import config_handler | ||||
|  | ||||
| # Fix UTF-8 decode error | ||||
| # See: https://github.com/akpw/mktxp/issues/47 | ||||
| # The RouterOS-api implicitly assumes that the API response is UTF-8 encoded. | ||||
| # But Mikrotik uses latin-1. | ||||
| # Because the upstream dependency is currently abandoned, this is a quick hack to solve the issue | ||||
|  | ||||
| MIKROTIK_ENCODING = 'latin-1' | ||||
| import routeros_api.api_structure | ||||
| routeros_api.api_structure.StringField.get_python_value = lambda _, bytes:  bytes.decode(MIKROTIK_ENCODING)  | ||||
| routeros_api.api_structure.default_structure = collections.defaultdict(routeros_api.api_structure.StringField) | ||||
|  | ||||
| from routeros_api import RouterOsApiPool | ||||
|  | ||||
|  | ||||
| class RouterAPIConnectionError(Exception): | ||||
|     pass | ||||
|   | ||||
		Reference in New Issue
	
	Block a user