mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[utils] WebSocketsWrapper: Allow omitting __enter__ invocation (#3187)
				
					
				
			Authored by: Lesmiscore
This commit is contained in:
		 Lesmiscore (Naoya Ozaki)
					Lesmiscore (Naoya Ozaki)
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						parent
						
							b1a7cd056a
						
					
				
				
					commit
					3cea3edd1a
				
			| @@ -5436,15 +5436,18 @@ class Config: | ||||
| class WebSocketsWrapper(): | ||||
|     """Wraps websockets module to use in non-async scopes""" | ||||
|  | ||||
|     def __init__(self, url, headers=None): | ||||
|     def __init__(self, url, headers=None, connect=True): | ||||
|         self.loop = asyncio.events.new_event_loop() | ||||
|         self.conn = compat_websockets.connect( | ||||
|             url, extra_headers=headers, ping_interval=None, | ||||
|             close_timeout=float('inf'), loop=self.loop, ping_timeout=float('inf')) | ||||
|         if connect: | ||||
|             self.__enter__() | ||||
|         atexit.register(self.__exit__, None, None, None) | ||||
|  | ||||
|     def __enter__(self): | ||||
|         self.pool = self.run_with_loop(self.conn.__aenter__(), self.loop) | ||||
|         if not self.pool: | ||||
|             self.pool = self.run_with_loop(self.conn.__aenter__(), self.loop) | ||||
|         return self | ||||
|  | ||||
|     def send(self, *args): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user