fix: validator
This commit is contained in:
parent
791f611f7d
commit
61ac39b4f3
3 changed files with 106 additions and 95 deletions
|
@ -389,20 +389,51 @@ class StreamManager:
|
|||
logger.debug(f"Set session {session_id} for display {display_id}")
|
||||
|
||||
def clear_session_id(self, session_id: str):
|
||||
"""Clear session ID from tracking integrations."""
|
||||
"""Clear session ID from the specific tracking integration handling this session."""
|
||||
with self._lock:
|
||||
# Find the subscription that's handling this session
|
||||
session_subscription = None
|
||||
for subscription_info in self._subscriptions.values():
|
||||
if subscription_info.tracking_integration:
|
||||
subscription_info.tracking_integration.clear_session_id(session_id)
|
||||
logger.debug(f"Cleared session {session_id}")
|
||||
# Check if this integration is handling the given session_id
|
||||
integration = subscription_info.tracking_integration
|
||||
if session_id in integration.session_vehicles:
|
||||
session_subscription = subscription_info
|
||||
break
|
||||
|
||||
if session_subscription and session_subscription.tracking_integration:
|
||||
session_subscription.tracking_integration.clear_session_id(session_id)
|
||||
logger.debug(f"Cleared session {session_id} from subscription {session_subscription.subscription_id}")
|
||||
else:
|
||||
logger.warning(f"No tracking integration found for session {session_id}, broadcasting to all subscriptions")
|
||||
# Fallback: broadcast to all (original behavior)
|
||||
for subscription_info in self._subscriptions.values():
|
||||
if subscription_info.tracking_integration:
|
||||
subscription_info.tracking_integration.clear_session_id(session_id)
|
||||
|
||||
def set_progression_stage(self, session_id: str, stage: str):
|
||||
"""Set progression stage for tracking integrations."""
|
||||
"""Set progression stage for the specific tracking integration handling this session."""
|
||||
with self._lock:
|
||||
# Find the subscription that's handling this session
|
||||
session_subscription = None
|
||||
for subscription_info in self._subscriptions.values():
|
||||
if subscription_info.tracking_integration:
|
||||
subscription_info.tracking_integration.set_progression_stage(session_id, stage)
|
||||
logger.debug(f"Set progression stage for session {session_id}: {stage}")
|
||||
# Check if this integration is handling the given session_id
|
||||
# We need to check the integration's active sessions
|
||||
integration = subscription_info.tracking_integration
|
||||
if session_id in integration.session_vehicles:
|
||||
session_subscription = subscription_info
|
||||
break
|
||||
|
||||
if session_subscription and session_subscription.tracking_integration:
|
||||
session_subscription.tracking_integration.set_progression_stage(session_id, stage)
|
||||
logger.debug(f"Set progression stage for session {session_id}: {stage} on subscription {session_subscription.subscription_id}")
|
||||
else:
|
||||
logger.warning(f"No tracking integration found for session {session_id}, broadcasting to all subscriptions")
|
||||
# Fallback: broadcast to all (original behavior)
|
||||
for subscription_info in self._subscriptions.values():
|
||||
if subscription_info.tracking_integration:
|
||||
subscription_info.tracking_integration.set_progression_stage(session_id, stage)
|
||||
|
||||
def get_tracking_stats(self) -> Dict[str, Any]:
|
||||
"""Get tracking statistics from all subscriptions."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue