Times + logging changes

This commit is contained in:
√(noham)²
2026-06-23 18:31:50 +02:00
parent 51a58d3694
commit ff8462d3df
3 changed files with 10 additions and 8 deletions

View File

@@ -26,6 +26,7 @@ from utils.times import (
convert_sec_to_date, convert_sec_to_date,
find_nearest_tick_by_hour, find_nearest_tick_by_hour,
bruteforce, bruteforce,
TIMESCALE,
) )
from utils.stream import ( from utils.stream import (
save_segments, save_segments,
@@ -38,7 +39,6 @@ from utils.stream import (
from utils.logging_config import setup_logging, logger from utils.logging_config import setup_logging, logger
load_dotenv() load_dotenv()
TIMESCALE = 90000
DURATION = 288000 DURATION = 288000
@@ -71,7 +71,7 @@ def parse_arguments():
parser.add_argument( parser.add_argument(
"--title", "--title",
type=str, type=str,
default="title", default=None,
help="Title for the download (default: channel_id_start_date)", help="Title for the download (default: channel_id_start_date)",
) )
parser.add_argument("--username", type=str, help="Oqee username for authentication") parser.add_argument("--username", type=str, help="Oqee username for authentication")

View File

@@ -9,6 +9,7 @@ from InquirerPy.base.control import Choice
from utils.stream import get_manifest, parse_mpd_manifest, organize_by_content_type from utils.stream import get_manifest, parse_mpd_manifest, organize_by_content_type
from utils.logging_config import logger from utils.logging_config import logger
from utils.times import FRANCE_TZ
SERVICE_PLAN_API_URL = "https://api.oqee.net/api/v6/service_plan" SERVICE_PLAN_API_URL = "https://api.oqee.net/api/v6/service_plan"
EPG_API_URL = "https://api.oqee.net/api/v1/epg/all/{unix}" EPG_API_URL = "https://api.oqee.net/api/v1/epg/all/{unix}"
@@ -484,7 +485,7 @@ def get_epg_data_at(dt: datetime.datetime):
else: else:
dt_aligned = dt.replace(minute=0, second=0, microsecond=0) dt_aligned = dt.replace(minute=0, second=0, microsecond=0)
unix_time = int(dt_aligned.timestamp()) unix_time = int(dt_aligned.replace(tzinfo=FRANCE_TZ).timestamp())
logger.info("Fetching EPG for aligned time: %s (unix=%d)", dt_aligned, unix_time) logger.info("Fetching EPG for aligned time: %s (unix=%d)", dt_aligned, unix_time)
try: try:
@@ -533,8 +534,8 @@ def select_program_from_epg(programs, original_start_date, original_end_date):
# Extract the live data from the program # Extract the live data from the program
live_data = program.get("live", program) live_data = program.get("live", program)
title = live_data.get("title", "Untitled") title = live_data.get("title", "Untitled")
start_time = datetime.datetime.fromtimestamp(live_data.get("start", 0)) start_time = datetime.datetime.fromtimestamp(live_data.get("start", 0), tz=FRANCE_TZ).replace(tzinfo=None)
end_time = datetime.datetime.fromtimestamp(live_data.get("end", 0)) end_time = datetime.datetime.fromtimestamp(live_data.get("end", 0), tz=FRANCE_TZ).replace(tzinfo=None)
duration_min = (end_time - start_time).total_seconds() / 60 duration_min = (end_time - start_time).total_seconds() / 60
choice_name = ( choice_name = (
@@ -586,8 +587,8 @@ def select_program_from_epg(programs, original_start_date, original_end_date):
# Extract live data and convert program timestamps to datetime objects # Extract live data and convert program timestamps to datetime objects
live_data = selected_program.get("live", selected_program) live_data = selected_program.get("live", selected_program)
program_start = datetime.datetime.fromtimestamp(live_data.get("start", 0)) program_start = datetime.datetime.fromtimestamp(live_data.get("start", 0), tz=FRANCE_TZ).replace(tzinfo=None)
program_end = datetime.datetime.fromtimestamp(live_data.get("end", 0)) program_end = datetime.datetime.fromtimestamp(live_data.get("end", 0), tz=FRANCE_TZ).replace(tzinfo=None)
program_title = live_data.get("title", "Untitled") program_title = live_data.get("title", "Untitled")
logger.info("Selected program:") logger.info("Selected program:")

View File

@@ -12,6 +12,7 @@ from utils.stream import fetch_segment
from utils.logging_config import logger from utils.logging_config import logger
FRANCE_TZ = ZoneInfo("Europe/Paris") FRANCE_TZ = ZoneInfo("Europe/Paris")
TIMESCALE = 90000
def convert_ticks_to_sec(ticks, timescale): def convert_ticks_to_sec(ticks, timescale):
@@ -59,7 +60,7 @@ async def bruteforce(track_id, date, batch_size=20000):
valid_ticks = [] valid_ticks = []
total_requests = 288000 total_requests = 288000
logger.debug("Starting bruteforce for %s near %s", track_id, date) logger.debug("Starting bruteforce for %s near (%s) %s", track_id, date, convert_sec_to_date(convert_ticks_to_sec(date, TIMESCALE)))
start_time = time.time() start_time = time.time()