Updated player.py and ssl_utils.py

parent 2a789078
...@@ -121,7 +121,8 @@ class OverlayWebChannel(QObject): ...@@ -121,7 +121,8 @@ class OverlayWebChannel(QObject):
return return
# Debug what data is being sent to JavaScript # Debug what data is being sent to JavaScript
logger.debug(f"OverlayWebChannel sending to JavaScript: {cleaned_data}") data_keys = list(cleaned_data.keys()) if isinstance(cleaned_data, dict) else []
logger.debug(f"OverlayWebChannel sending to JavaScript: {len(cleaned_data)} items with keys: {data_keys}")
logger.debug(f"Data type: {type(cleaned_data)}, Data is dict: {isinstance(cleaned_data, dict)}") logger.debug(f"Data type: {type(cleaned_data)}, Data is dict: {isinstance(cleaned_data, dict)}")
with QMutexLocker(self.mutex): with QMutexLocker(self.mutex):
...@@ -129,7 +130,8 @@ class OverlayWebChannel(QObject): ...@@ -129,7 +130,8 @@ class OverlayWebChannel(QObject):
# Add additional validation just before emit # Add additional validation just before emit
if cleaned_data and isinstance(cleaned_data, dict) and any(v is not None for v in cleaned_data.values()): if cleaned_data and isinstance(cleaned_data, dict) and any(v is not None for v in cleaned_data.values()):
self.dataUpdated.emit(cleaned_data) self.dataUpdated.emit(cleaned_data)
logger.debug(f"Signal emitted successfully with data: {cleaned_data}") data_keys = list(cleaned_data.keys()) if isinstance(cleaned_data, dict) else []
logger.debug(f"Signal emitted successfully with {len(cleaned_data)} data items: {data_keys}")
else: else:
logger.warning(f"Prevented emission of invalid data: {cleaned_data}") logger.warning(f"Prevented emission of invalid data: {cleaned_data}")
...@@ -323,9 +325,9 @@ class OverlayWebView(QWebEngineView): ...@@ -323,9 +325,9 @@ class OverlayWebView(QWebEngineView):
def load_template(self, template_name: str): def load_template(self, template_name: str):
"""Load a specific template file, prioritizing uploaded templates""" """Load a specific template file, prioritizing uploaded templates"""
try: try:
logger.error(f"GREEN SCREEN DEBUG: Starting template load - {template_name}") logger.debug(f"GREEN SCREEN DEBUG: Starting template load - {template_name}")
logger.error(f"GREEN SCREEN DEBUG: Current page URL before load: {self.url().toString()}") logger.debug(f"GREEN SCREEN DEBUG: Current page URL before load: {self.url().toString()}")
logger.error(f"GREEN SCREEN DEBUG: WebEngine view visible: {self.isVisible()}") logger.debug(f"GREEN SCREEN DEBUG: WebEngine view visible: {self.isVisible()}")
# CRITICAL FIX: Store visibility state before template load # CRITICAL FIX: Store visibility state before template load
was_visible = self.isVisible() was_visible = self.isVisible()
...@@ -362,13 +364,13 @@ class OverlayWebView(QWebEngineView): ...@@ -362,13 +364,13 @@ class OverlayWebView(QWebEngineView):
return return
if template_path and template_path.exists(): if template_path and template_path.exists():
logger.error(f"GREEN SCREEN DEBUG: About to load template file: {template_path}") logger.debug(f"GREEN SCREEN DEBUG: About to load template file: {template_path}")
logger.error(f"GREEN SCREEN DEBUG: Template source: {template_source}") logger.debug(f"GREEN SCREEN DEBUG: Template source: {template_source}")
# Check WebEngine state before load # Check WebEngine state before load
page = self.page() page = self.page()
if page: if page:
logger.error(f"GREEN SCREEN DEBUG: Page background color before load: {page.backgroundColor()}") logger.debug(f"GREEN SCREEN DEBUG: Page background color before load: {page.backgroundColor()}")
self.load(QUrl.fromLocalFile(str(template_path))) self.load(QUrl.fromLocalFile(str(template_path)))
self.current_template = template_name self.current_template = template_name
...@@ -383,7 +385,7 @@ class OverlayWebView(QWebEngineView): ...@@ -383,7 +385,7 @@ class OverlayWebView(QWebEngineView):
from PyQt6.QtCore import QTimer from PyQt6.QtCore import QTimer
QTimer.singleShot(100, lambda: self._ensure_overlay_visibility_post_load(was_visible)) QTimer.singleShot(100, lambda: self._ensure_overlay_visibility_post_load(was_visible))
logger.error(f"GREEN SCREEN DEBUG: Template load initiated - {template_path}") logger.debug(f"GREEN SCREEN DEBUG: Template load initiated - {template_path}")
logger.info(f"Loaded template: {template_path} (source: {template_source})") logger.info(f"Loaded template: {template_path} (source: {template_source})")
else: else:
logger.error(f"No template found: {template_name}") logger.error(f"No template found: {template_name}")
...@@ -391,7 +393,7 @@ class OverlayWebView(QWebEngineView): ...@@ -391,7 +393,7 @@ class OverlayWebView(QWebEngineView):
self._load_fallback_overlay() self._load_fallback_overlay()
except Exception as e: except Exception as e:
logger.error(f"GREEN SCREEN DEBUG: Template load failed: {e}") logger.debug(f"GREEN SCREEN DEBUG: Template load failed: {e}")
logger.error(f"Failed to load template {template_name}: {e}") logger.error(f"Failed to load template {template_name}: {e}")
self._load_fallback_overlay() self._load_fallback_overlay()
...@@ -444,10 +446,10 @@ class OverlayWebView(QWebEngineView): ...@@ -444,10 +446,10 @@ class OverlayWebView(QWebEngineView):
def reload_current_template(self): def reload_current_template(self):
"""Reload the current template""" """Reload the current template"""
logger.error(f"GREEN SCREEN DEBUG: Reloading current template - {self.current_template}") logger.debug(f"GREEN SCREEN DEBUG: Reloading current template - {self.current_template}")
logger.error(f"GREEN SCREEN DEBUG: WebEngine state before reload - visible: {self.isVisible()}") logger.debug(f"GREEN SCREEN DEBUG: WebEngine state before reload - visible: {self.isVisible()}")
self.load_template(self.current_template) self.load_template(self.current_template)
logger.error(f"GREEN SCREEN DEBUG: Current template reload initiated") logger.debug(f"GREEN SCREEN DEBUG: Current template reload initiated")
def get_available_templates(self) -> List[str]: def get_available_templates(self) -> List[str]:
"""Get list of available template files from both directories""" """Get list of available template files from both directories"""
...@@ -957,6 +959,29 @@ class PlayerWindow(QMainWindow): ...@@ -957,6 +959,29 @@ class PlayerWindow(QMainWindow):
logger.info("PlayerWindow initialized") logger.info("PlayerWindow initialized")
def _get_web_server_base_url(self) -> str:
"""Get the web server base URL for API requests"""
try:
# Default web server configuration - matches main.py defaults
host = "127.0.0.1" # Default host
port = 5001 # Default port
# Try to get web server settings if available
if hasattr(self, '_message_bus') and self._message_bus:
# Check if we can get web server info from message bus or settings
# For now, use defaults since we don't have direct access to web settings
pass
# Construct base URL
base_url = f"http://{host}:{port}"
logger.debug(f"Web server base URL determined as: {base_url}")
return base_url
except Exception as e:
logger.error(f"Failed to determine web server base URL: {e}")
# Return default fallback
return "http://127.0.0.1:5001"
def setup_ui(self): def setup_ui(self):
"""Setup enhanced window UI""" """Setup enhanced window UI"""
self.setWindowTitle("MbetterClient - PyQt6 Video Player") self.setWindowTitle("MbetterClient - PyQt6 Video Player")
...@@ -1077,19 +1102,19 @@ class PlayerWindow(QMainWindow): ...@@ -1077,19 +1102,19 @@ class PlayerWindow(QMainWindow):
# Check video state during overlay positioning # Check video state during overlay positioning
if hasattr(self, 'media_player'): if hasattr(self, 'media_player'):
video_state = self.media_player.playbackState() video_state = self.media_player.playbackState()
logger.error(f"GREEN SCREEN DEBUG: Video state during overlay sync: {video_state}") logger.debug(f"GREEN SCREEN DEBUG: Video state during overlay sync: {video_state}")
# Get main window geometry # Get main window geometry
main_geo = self.geometry() main_geo = self.geometry()
logger.debug(f"Main window geometry: {main_geo}") logger.debug(f"Main window geometry: {main_geo}")
logger.error(f"GREEN SCREEN DEBUG: Syncing overlay position - main geometry: {main_geo}") logger.debug(f"GREEN SCREEN DEBUG: Syncing overlay position - main geometry: {main_geo}")
# CRITICAL FIX: Store overlay visibility state before sync # CRITICAL FIX: Store overlay visibility state before sync
overlay_was_visible = self.overlay_window.isVisible() overlay_was_visible = self.overlay_window.isVisible()
# Check overlay window state before positioning # Check overlay window state before positioning
logger.error(f"GREEN SCREEN DEBUG: Overlay window before sync - visible: {overlay_was_visible}") logger.debug(f"GREEN SCREEN DEBUG: Overlay window before sync - visible: {overlay_was_visible}")
logger.error(f"GREEN SCREEN DEBUG: Overlay window before sync - geometry: {self.overlay_window.geometry()}") logger.debug(f"GREEN SCREEN DEBUG: Overlay window before sync - geometry: {self.overlay_window.geometry()}")
# Position overlay window exactly over main window # Position overlay window exactly over main window
self.overlay_window.setGeometry(main_geo) self.overlay_window.setGeometry(main_geo)
...@@ -1106,10 +1131,10 @@ class PlayerWindow(QMainWindow): ...@@ -1106,10 +1131,10 @@ class PlayerWindow(QMainWindow):
logger.error(f"GREEN SCREEN FIX: WebEngine overlay visibility recovered during sync") logger.error(f"GREEN SCREEN FIX: WebEngine overlay visibility recovered during sync")
logger.debug(f"Overlay window positioned at: {self.overlay_window.geometry()}") logger.debug(f"Overlay window positioned at: {self.overlay_window.geometry()}")
logger.error(f"GREEN SCREEN DEBUG: Overlay window after sync - geometry: {self.overlay_window.geometry()}") logger.debug(f"GREEN SCREEN DEBUG: Overlay window after sync - geometry: {self.overlay_window.geometry()}")
except Exception as e: except Exception as e:
logger.error(f"GREEN SCREEN DEBUG: Overlay sync failed: {e}") logger.debug(f"GREEN SCREEN DEBUG: Overlay sync failed: {e}")
logger.error(f"Failed to sync overlay position: {e}") logger.error(f"Failed to sync overlay position: {e}")
def resizeEvent(self, event): def resizeEvent(self, event):
...@@ -1673,7 +1698,8 @@ class PlayerWindow(QMainWindow): ...@@ -1673,7 +1698,8 @@ class PlayerWindow(QMainWindow):
# Unknown property, pass through if not null # Unknown property, pass through if not null
cleaned_data[key] = value cleaned_data[key] = value
logger.debug(f"Cleaned overlay data: {cleaned_data}") data_keys = list(cleaned_data.keys()) if isinstance(cleaned_data, dict) else []
logger.debug(f"Cleaned overlay data: {len(cleaned_data)} items with keys: {data_keys}")
return cleaned_data return cleaned_data
def _update_overlay_safe(self, overlay_view, data): def _update_overlay_safe(self, overlay_view, data):
...@@ -1682,8 +1708,8 @@ class PlayerWindow(QMainWindow): ...@@ -1682,8 +1708,8 @@ class PlayerWindow(QMainWindow):
# Check video state during overlay update # Check video state during overlay update
if hasattr(self, 'media_player'): if hasattr(self, 'media_player'):
video_state = self.media_player.playbackState() video_state = self.media_player.playbackState()
logger.error(f"GREEN SCREEN DEBUG: Video state during overlay update: {video_state}") logger.debug(f"GREEN SCREEN DEBUG: Video state during overlay update: {video_state}")
logger.error(f"GREEN SCREEN DEBUG: Video position during overlay update: {self.media_player.position()}") logger.debug(f"GREEN SCREEN DEBUG: Video position during overlay update: {self.media_player.position()}")
# Clean data before sending to prevent null property issues # Clean data before sending to prevent null property issues
cleaned_data = self._clean_overlay_data(data) cleaned_data = self._clean_overlay_data(data)
...@@ -1691,20 +1717,21 @@ class PlayerWindow(QMainWindow): ...@@ -1691,20 +1717,21 @@ class PlayerWindow(QMainWindow):
logger.debug("No valid data to send to overlay after cleaning") logger.debug("No valid data to send to overlay after cleaning")
return False return False
logger.error(f"GREEN SCREEN DEBUG: About to update overlay with data: {cleaned_data}") data_keys = list(cleaned_data.keys()) if isinstance(cleaned_data, dict) else []
logger.debug(f"GREEN SCREEN DEBUG: About to update overlay with {len(cleaned_data)} data items: {data_keys}")
if self._is_native_overlay(overlay_view): if self._is_native_overlay(overlay_view):
# Native overlay - always ready, update immediately # Native overlay - always ready, update immediately
logger.error(f"GREEN SCREEN DEBUG: Updating native overlay") logger.debug(f"GREEN SCREEN DEBUG: Updating native overlay")
overlay_view.update_overlay_data(cleaned_data) overlay_view.update_overlay_data(cleaned_data)
logger.debug("Native overlay updated successfully") logger.debug("Native overlay updated successfully")
logger.error(f"GREEN SCREEN DEBUG: Native overlay update completed") logger.debug(f"GREEN SCREEN DEBUG: Native overlay update completed")
return True return True
elif isinstance(overlay_view, OverlayWebView): elif isinstance(overlay_view, OverlayWebView):
# WebEngine overlay - check readiness first # WebEngine overlay - check readiness first
logger.error(f"GREEN SCREEN DEBUG: Checking WebEngine overlay readiness") logger.debug(f"GREEN SCREEN DEBUG: Checking WebEngine overlay readiness")
logger.error(f"GREEN SCREEN DEBUG: WebEngine URL: {overlay_view.url().toString()}") logger.debug(f"GREEN SCREEN DEBUG: WebEngine URL: {overlay_view.url().toString()}")
logger.error(f"GREEN SCREEN DEBUG: WebEngine visible: {overlay_view.isVisible()}") logger.debug(f"GREEN SCREEN DEBUG: WebEngine visible: {overlay_view.isVisible()}")
# CRITICAL FIX: Ensure WebEngine overlay visibility before update # CRITICAL FIX: Ensure WebEngine overlay visibility before update
if not overlay_view.isVisible(): if not overlay_view.isVisible():
...@@ -1721,46 +1748,24 @@ class PlayerWindow(QMainWindow): ...@@ -1721,46 +1748,24 @@ class PlayerWindow(QMainWindow):
logger.error(f"GREEN SCREEN FIX: Parent overlay window visibility forced") logger.error(f"GREEN SCREEN FIX: Parent overlay window visibility forced")
if self._is_webengine_ready(overlay_view): if self._is_webengine_ready(overlay_view):
logger.error(f"GREEN SCREEN DEBUG: WebEngine ready, updating overlay") logger.debug(f"GREEN SCREEN DEBUG: WebEngine ready, updating overlay")
overlay_view.update_overlay_data(cleaned_data) overlay_view.update_overlay_data(cleaned_data)
logger.debug("WebEngine overlay updated successfully") logger.debug("WebEngine overlay updated successfully")
logger.error(f"GREEN SCREEN DEBUG: WebEngine overlay update completed") logger.debug(f"GREEN SCREEN DEBUG: WebEngine overlay update completed")
return True return True
else: else:
logger.error(f"GREEN SCREEN DEBUG: WebEngine not ready, skipping update") logger.debug(f"GREEN SCREEN DEBUG: WebEngine not ready, skipping update")
logger.debug("WebEngine overlay not ready, skipping update") logger.debug("WebEngine overlay not ready, skipping update")
return False return False
else: else:
logger.warning(f"Unknown overlay type: {type(overlay_view)}") logger.warning(f"Unknown overlay type: {type(overlay_view)}")
logger.error(f"GREEN SCREEN DEBUG: Unknown overlay type: {type(overlay_view)}") logger.debug(f"GREEN SCREEN DEBUG: Unknown overlay type: {type(overlay_view)}")
return False return False
except Exception as e: except Exception as e:
logger.error(f"GREEN SCREEN DEBUG: Overlay update failed: {e}") logger.debug(f"GREEN SCREEN DEBUG: Overlay update failed: {e}")
logger.error(f"Failed to update overlay safely: {e}") logger.error(f"Failed to update overlay safely: {e}")
return False return False
def _get_web_server_base_url(self) -> str:
"""Get the web server base URL for API requests"""
try:
# Default web server configuration - matches main.py defaults
host = "127.0.0.1" # Default host
port = 5001 # Default port
# Try to get web server settings if available
if hasattr(self, '_message_bus') and self._message_bus:
# Check if we can get web server info from message bus or settings
# For now, use defaults since we don't have direct access to web settings
pass
# Construct base URL
base_url = f"http://{host}:{port}"
logger.debug(f"Web server base URL determined as: {base_url}")
return base_url
except Exception as e:
logger.error(f"Failed to determine web server base URL: {e}")
# Return default fallback
return "http://127.0.0.1:5001"
def _protect_video_context_after_template_load(self): def _protect_video_context_after_template_load(self):
"""Protect video rendering context after template loading operations""" """Protect video rendering context after template loading operations"""
...@@ -1817,6 +1822,29 @@ class QtVideoPlayer(QObject): ...@@ -1817,6 +1822,29 @@ class QtVideoPlayer(QObject):
logger.info("QtVideoPlayer (PyQt6) initialized") logger.info("QtVideoPlayer (PyQt6) initialized")
def _get_web_server_base_url(self) -> str:
"""Get the web server base URL for API requests"""
try:
# Default web server configuration - matches main.py defaults
host = "127.0.0.1" # Default host
port = 5001 # Default port
# Try to get web server settings if available
if hasattr(self, '_message_bus') and self._message_bus:
# Check if we can get web server info from message bus or settings
# For now, use defaults since we don't have direct access to web settings
pass
# Construct base URL
base_url = f"http://{host}:{port}"
logger.debug(f"Web server base URL determined as: {base_url}")
return base_url
except Exception as e:
logger.error(f"Failed to determine web server base URL: {e}")
# Return default fallback
return "http://127.0.0.1:5001"
def initialize(self) -> bool: def initialize(self) -> bool:
"""Initialize PyQt6 application and components""" """Initialize PyQt6 application and components"""
try: try:
...@@ -2113,7 +2141,8 @@ class QtVideoPlayer(QObject): ...@@ -2113,7 +2141,8 @@ class QtVideoPlayer(QObject):
# Unknown property, pass through if not null # Unknown property, pass through if not null
cleaned_data[key] = value cleaned_data[key] = value
logger.debug(f"Cleaned overlay data: {cleaned_data}") data_keys = list(cleaned_data.keys()) if isinstance(cleaned_data, dict) else []
logger.debug(f"Cleaned overlay data: {len(cleaned_data)} items with keys: {data_keys}")
return cleaned_data return cleaned_data
def _send_safe_overlay_update(self, overlay_view, data): def _send_safe_overlay_update(self, overlay_view, data):
...@@ -2477,10 +2506,10 @@ class QtVideoPlayer(QObject): ...@@ -2477,10 +2506,10 @@ class QtVideoPlayer(QObject):
reload_template = template_data.get("reload_template", False) reload_template = template_data.get("reload_template", False)
load_specific_template = template_data.get("load_specific_template", "") load_specific_template = template_data.get("load_specific_template", "")
logger.error(f"GREEN SCREEN DEBUG: Template change message received") logger.debug(f"GREEN SCREEN DEBUG: Template change message received")
logger.error(f"GREEN SCREEN DEBUG: Template name: {template_name}") logger.debug(f"GREEN SCREEN DEBUG: Template name: {template_name}")
logger.error(f"GREEN SCREEN DEBUG: Reload template: {reload_template}") logger.debug(f"GREEN SCREEN DEBUG: Reload template: {reload_template}")
logger.error(f"GREEN SCREEN DEBUG: Load specific template: {load_specific_template}") logger.debug(f"GREEN SCREEN DEBUG: Load specific template: {load_specific_template}")
if self.window and hasattr(self.window, 'window_overlay'): if self.window and hasattr(self.window, 'window_overlay'):
overlay_view = self.window.window_overlay overlay_view = self.window.window_overlay
...@@ -2488,14 +2517,14 @@ class QtVideoPlayer(QObject): ...@@ -2488,14 +2517,14 @@ class QtVideoPlayer(QObject):
# Check video player state before template change # Check video player state before template change
if hasattr(self.window, 'media_player'): if hasattr(self.window, 'media_player'):
video_state = self.window.media_player.playbackState() video_state = self.window.media_player.playbackState()
logger.error(f"GREEN SCREEN DEBUG: Video playback state during template change: {video_state}") logger.debug(f"GREEN SCREEN DEBUG: Video playback state during template change: {video_state}")
logger.error(f"GREEN SCREEN DEBUG: Video position: {self.window.media_player.position()}") logger.debug(f"GREEN SCREEN DEBUG: Video position: {self.window.media_player.position()}")
logger.error(f"GREEN SCREEN DEBUG: Video duration: {self.window.media_player.duration()}") logger.debug(f"GREEN SCREEN DEBUG: Video duration: {self.window.media_player.duration()}")
# Check overlay window transparency state # Check overlay window transparency state
if hasattr(self.window, 'overlay_window'): if hasattr(self.window, 'overlay_window'):
logger.error(f"GREEN SCREEN DEBUG: Overlay window geometry: {self.window.overlay_window.geometry()}") logger.debug(f"GREEN SCREEN DEBUG: Overlay window geometry: {self.window.overlay_window.geometry()}")
logger.error(f"GREEN SCREEN DEBUG: Overlay window visible: {self.window.overlay_window.isVisible()}") logger.debug(f"GREEN SCREEN DEBUG: Overlay window visible: {self.window.overlay_window.isVisible()}")
# CRITICAL FIX: Protect video context during template changes # CRITICAL FIX: Protect video context during template changes
video_widget = None video_widget = None
...@@ -2505,16 +2534,16 @@ class QtVideoPlayer(QObject): ...@@ -2505,16 +2534,16 @@ class QtVideoPlayer(QObject):
# Load specific template if requested and using WebEngine overlay # Load specific template if requested and using WebEngine overlay
if load_specific_template and isinstance(overlay_view, OverlayWebView): if load_specific_template and isinstance(overlay_view, OverlayWebView):
logger.error(f"GREEN SCREEN DEBUG: About to load specific template: {load_specific_template}") logger.debug(f"GREEN SCREEN DEBUG: About to load specific template: {load_specific_template}")
logger.error(f"GREEN SCREEN FIX: Protecting video rendering during template load") logger.debug(f"GREEN SCREEN FIX: Protecting video rendering during template load")
overlay_view.load_template(load_specific_template) overlay_view.load_template(load_specific_template)
logger.error(f"GREEN SCREEN DEBUG: Specific template load initiated") logger.debug(f"GREEN SCREEN DEBUG: Specific template load initiated")
# Otherwise reload current template if requested and using WebEngine overlay # Otherwise reload current template if requested and using WebEngine overlay
elif reload_template and isinstance(overlay_view, OverlayWebView): elif reload_template and isinstance(overlay_view, OverlayWebView):
logger.error(f"GREEN SCREEN DEBUG: About to reload current template") logger.debug(f"GREEN SCREEN DEBUG: About to reload current template")
logger.error(f"GREEN SCREEN FIX: Protecting video rendering during template reload") logger.debug(f"GREEN SCREEN FIX: Protecting video rendering during template reload")
overlay_view.reload_current_template() overlay_view.reload_current_template()
logger.error(f"GREEN SCREEN DEBUG: Current template reload initiated") logger.debug(f"GREEN SCREEN DEBUG: Current template reload initiated")
# CRITICAL FIX: Force video widget refresh after template change # CRITICAL FIX: Force video widget refresh after template change
if video_widget: if video_widget:
...@@ -2541,7 +2570,9 @@ class QtVideoPlayer(QObject): ...@@ -2541,7 +2570,9 @@ class QtVideoPlayer(QObject):
if k not in ['reload_template', 'load_specific_template']} if k not in ['reload_template', 'load_specific_template']}
if data_to_send: if data_to_send:
logger.error(f"GREEN SCREEN DEBUG: Sending overlay data: {data_to_send}") # Log data summary instead of full content to avoid cluttering logs with HTML
data_keys = list(data_to_send.keys())
logger.debug(f"GREEN SCREEN DEBUG: Sending overlay data with keys: {data_keys}")
# Validate and clean template_data before sending to overlay # Validate and clean template_data before sending to overlay
cleaned_data = self._clean_overlay_data(data_to_send) cleaned_data = self._clean_overlay_data(data_to_send)
if cleaned_data: # Only send if we have valid data after cleaning if cleaned_data: # Only send if we have valid data after cleaning
...@@ -2549,10 +2580,10 @@ class QtVideoPlayer(QObject): ...@@ -2549,10 +2580,10 @@ class QtVideoPlayer(QObject):
else: else:
logger.debug("Template data contained only null/undefined values, skipping update") logger.debug("Template data contained only null/undefined values, skipping update")
logger.error(f"GREEN SCREEN DEBUG: Template change handler completed") logger.debug(f"GREEN SCREEN DEBUG: Template change handler completed")
except Exception as e: except Exception as e:
logger.error(f"GREEN SCREEN DEBUG: Template change handler failed: {e}") logger.debug(f"GREEN SCREEN DEBUG: Template change handler failed: {e}")
logger.error(f"Failed to handle template change: {e}") logger.error(f"Failed to handle template change: {e}")
def _handle_overlay_update(self, message: Message): def _handle_overlay_update(self, message: Message):
......
...@@ -273,7 +273,7 @@ def create_requests_session_with_ssl_support(verify_ssl: bool = True, ca_cert_pa ...@@ -273,7 +273,7 @@ def create_requests_session_with_ssl_support(verify_ssl: bool = True, ca_cert_pa
retry_strategy = Retry( retry_strategy = Retry(
total=3, total=3,
status_forcelist=[429, 500, 502, 503, 504], status_forcelist=[429, 500, 502, 503, 504],
method_whitelist=["HEAD", "GET", "OPTIONS", "POST", "PUT", "DELETE"] allowed_methods=["HEAD", "GET", "OPTIONS", "POST", "PUT", "DELETE"]
) )
adapter = HTTPAdapter(max_retries=retry_strategy) adapter = HTTPAdapter(max_retries=retry_strategy)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment