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:
		
							parent
							
								
									a4f13fb236
								
							
						
					
					
						commit
						1b8a92e5b5
					
				|  | @ -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 | ||||
|  |  | |||
|  | @ -125,7 +125,8 @@ class StatisticsService(Thread): | |||
|                 except ValueError: | ||||
|                     pass | ||||
| 
 | ||||
|                 func(*args, **kwargs) | ||||
|                 result = func(*args, **kwargs) | ||||
|                 return result | ||||
| 
 | ||||
|             return inner | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 samson0v
						samson0v