77from websockets .asyncio .client import connect as async_connect
88
99from yfinance import utils
10+ from yfinance .config import YfConfig
1011from yfinance .pricing_pb2 import PricingData
1112from google .protobuf .json_format import MessageToDict
1213
@@ -27,6 +28,8 @@ def _decode_message(self, base64_message: str) -> dict:
2728 pricing_data .ParseFromString (decoded_bytes )
2829 return MessageToDict (pricing_data , preserving_proto_field_name = True )
2930 except Exception as e :
31+ if not YfConfig ().hide_exceptions :
32+ raise
3033 self .logger .error ("Failed to decode message: %s" , e , exc_info = True )
3134 if self .verbose :
3235 print ("Failed to decode message: %s" , e )
@@ -61,6 +64,8 @@ async def _connect(self):
6164 if self .verbose :
6265 print ("Connected to WebSocket." )
6366 except Exception as e :
67+ if not YfConfig ().hide_exceptions :
68+ raise
6469 self .logger .error ("Failed to connect to WebSocket: %s" , e , exc_info = True )
6570 if self .verbose :
6671 print (f"Failed to connect to WebSocket: { e } " )
@@ -79,6 +84,8 @@ async def _periodic_subscribe(self):
7984 if self .verbose :
8085 print (f"Heartbeat subscription sent for symbols: { self ._subscriptions } " )
8186 except Exception as e :
87+ if not YfConfig ().hide_exceptions :
88+ raise
8289 self .logger .error ("Error in heartbeat subscription: %s" , e , exc_info = True )
8390 if self .verbose :
8491 print (f"Error in heartbeat subscription: { e } " )
@@ -162,6 +169,8 @@ async def listen(self, message_handler=None):
162169 else :
163170 self ._message_handler (decoded_message )
164171 except Exception as handler_exception :
172+ if not YfConfig ().hide_exceptions :
173+ raise
165174 self .logger .error ("Error in message handler: %s" , handler_exception , exc_info = True )
166175 if self .verbose :
167176 print ("Error in message handler:" , handler_exception )
@@ -176,6 +185,8 @@ async def listen(self, message_handler=None):
176185 break
177186
178187 except Exception as e :
188+ if not YfConfig ().hide_exceptions :
189+ raise
179190 self .logger .error ("Error while listening to messages: %s" , e , exc_info = True )
180191 if self .verbose :
181192 print ("Error while listening to messages: %s" , e )
@@ -301,6 +312,8 @@ def listen(self, message_handler: Optional[Callable[[dict], None]] = None):
301312 try :
302313 message_handler (decoded_message )
303314 except Exception as handler_exception :
315+ if not YfConfig ().hide_exceptions :
316+ raise
304317 self .logger .error ("Error in message handler: %s" , handler_exception , exc_info = True )
305318 if self .verbose :
306319 print ("Error in message handler:" , handler_exception )
@@ -314,6 +327,8 @@ def listen(self, message_handler: Optional[Callable[[dict], None]] = None):
314327 break
315328
316329 except Exception as e :
330+ if not YfConfig ().hide_exceptions :
331+ raise
317332 self .logger .error ("Error while listening to messages: %s" , e , exc_info = True )
318333 if self .verbose :
319334 print ("Error while listening to messages: %s" , e )
0 commit comments