1
0
mirror of https://github.com/thingsboard/thingsboard-gateway synced 2025-10-26 22:31:42 +08:00

Fixed FTP RPCs processing

This commit is contained in:
samson0v
2023-12-12 12:17:34 +02:00
parent a4f13fb236
commit 1b8a92e5b5
2 changed files with 7 additions and 11 deletions

View File

@@ -28,16 +28,8 @@ from thingsboard_gateway.connectors.ftp.file import File
from thingsboard_gateway.connectors.ftp.ftp_uplink_converter import FTPUplinkConverter
from thingsboard_gateway.connectors.ftp.path import Path
from thingsboard_gateway.gateway.statistics_service import StatisticsService
from thingsboard_gateway.tb_utility.tb_utility import TBUtility
from thingsboard_gateway.tb_utility.tb_logger import init_logger
try:
from requests import Timeout, request
except ImportError:
print("Requests library not found - installing...")
TBUtility.install_package("requests")
from requests import Timeout, request
from thingsboard_gateway.connectors.connector import Connector
@@ -83,6 +75,7 @@ class FTPConnector(Connector, Thread):
)
for obj in self.__config['paths']
]
self.__log.info('FTP Connector started.')
def open(self):
self.__stopped = False
@@ -193,6 +186,7 @@ class FTPConnector(Connector, Thread):
def close(self):
self.__stopped = True
self.__log.info('FTP Connector stopped.')
self.__log.reset()
def get_name(self):
@@ -263,7 +257,8 @@ class FTPConnector(Connector, Thread):
@StatisticsService.CollectAllReceivedBytesStatistics('allBytesSentToDevices')
def _get_io_stream(self, data_expression):
return io.BytesIO(str.encode(data_expression))
_io = io.BytesIO(str.encode(data_expression))
return _io
def __fill_rpc_requests(self):
for rpc_request in self.__config.get("serverSideRpc", []):
@@ -276,7 +271,7 @@ class FTPConnector(Connector, Thread):
if fullmatch(rpc_request['deviceNameFilter'], content['device']) and fullmatch(
rpc_request['methodFilter'], content['data']['method']):
with self.__ftp() as ftp:
if not self._connected:
if not self._connected or not ftp.sock:
self.__connect(ftp)
converted_data = None

View File

@@ -125,7 +125,8 @@ class StatisticsService(Thread):
except ValueError:
pass
func(*args, **kwargs)
result = func(*args, **kwargs)
return result
return inner