diff --git a/lib/streaming_providers/base/models/event.py b/lib/streaming_providers/base/models/event.py index f9bc207..df7ad08 100644 --- a/lib/streaming_providers/base/models/event.py +++ b/lib/streaming_providers/base/models/event.py @@ -1,6 +1,6 @@ # streaming_providers/base/models/event.py from dataclasses import dataclass -from datetime import datetime +from datetime import datetime, timezone from enum import Enum from typing import Dict, List, Optional @@ -25,9 +25,8 @@ class Event(Content): status: EventStatus = EventStatus.SCHEDULED def __post_init__(self): - # Auto-derive status from times if left at default if self.status == EventStatus.SCHEDULED and self.start_time and self.end_time: - now = datetime.now() + now = datetime.now(timezone.utc) if self.start_time <= now <= self.end_time: self.status = EventStatus.LIVE elif now > self.end_time: diff --git a/lib/streaming_providers/providers/discovery/provider.py b/lib/streaming_providers/providers/discovery/provider.py index f1fb5b1..56200e6 100644 --- a/lib/streaming_providers/providers/discovery/provider.py +++ b/lib/streaming_providers/providers/discovery/provider.py @@ -10,7 +10,6 @@ import time import uuid import secrets import base64 -import traceback from datetime import datetime from typing import ClassVar, Dict, List, Optional, Any @@ -687,6 +686,8 @@ class DiscoveryProvider(StreamingProvider): elif "Englisch" in audio_tracks: language = "en" + logger.debug(f"Creating event: {attributes.get('name')} | material_type={material_type} | status={status} | start={start_dt} | end={end_dt}") + # Create Event object event = Event( name=attributes.get("name", "Unknown Event"), @@ -711,11 +712,7 @@ class DiscoveryProvider(StreamingProvider): except Exception as e: - logger.error(f"Error processing collection item: {e}") - - logger.error(traceback.format_exc()) - continue # Handle pagination if needed