Spaces:
Paused
Paused
Update wltv_server.py
Browse files- wltv_server.py +15 -2
wltv_server.py
CHANGED
|
@@ -6,6 +6,7 @@ import logging
|
|
| 6 |
from flask import Flask, send_file, jsonify
|
| 7 |
import xml.etree.ElementTree as ET
|
| 8 |
from datetime import datetime
|
|
|
|
| 9 |
|
| 10 |
# Set up logging
|
| 11 |
logging.basicConfig(level=logging.INFO)
|
|
@@ -60,13 +61,25 @@ def get_current_program(channel_id):
|
|
| 60 |
tree = ET.parse(xml_file)
|
| 61 |
root = tree.getroot()
|
| 62 |
|
| 63 |
-
#
|
| 64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
|
| 66 |
for programme in root.findall('programme'):
|
| 67 |
if programme.get('channel') == channel_id:
|
|
|
|
| 68 |
start_time = datetime.strptime(programme.get('start')[:14], "%Y%m%d%H%M%S")
|
|
|
|
|
|
|
| 69 |
stop_time = datetime.strptime(programme.get('stop')[:14], "%Y%m%d%H%M%S")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
if start_time <= current_time < stop_time:
|
| 71 |
title = programme.find('title').text if programme.find('title') is not None else "No title"
|
| 72 |
desc = programme.find('desc').text if programme.find('desc') is not None else "No description"
|
|
|
|
| 6 |
from flask import Flask, send_file, jsonify
|
| 7 |
import xml.etree.ElementTree as ET
|
| 8 |
from datetime import datetime
|
| 9 |
+
import pytz # New import for timezone handling
|
| 10 |
|
| 11 |
# Set up logging
|
| 12 |
logging.basicConfig(level=logging.INFO)
|
|
|
|
| 61 |
tree = ET.parse(xml_file)
|
| 62 |
root = tree.getroot()
|
| 63 |
|
| 64 |
+
# Set timezone to Italy
|
| 65 |
+
italy_tz = pytz.timezone('Europe/Rome')
|
| 66 |
+
|
| 67 |
+
# Get the current time in Italy's timezone
|
| 68 |
+
current_time = datetime.now(italy_tz)
|
| 69 |
+
logger.info(f"Current Italy time: {current_time}")
|
| 70 |
|
| 71 |
for programme in root.findall('programme'):
|
| 72 |
if programme.get('channel') == channel_id:
|
| 73 |
+
# Parse the start and stop times from XML and set them to Italy's timezone
|
| 74 |
start_time = datetime.strptime(programme.get('start')[:14], "%Y%m%d%H%M%S")
|
| 75 |
+
start_time = italy_tz.localize(start_time)
|
| 76 |
+
|
| 77 |
stop_time = datetime.strptime(programme.get('stop')[:14], "%Y%m%d%H%M%S")
|
| 78 |
+
stop_time = italy_tz.localize(stop_time)
|
| 79 |
+
|
| 80 |
+
logger.info(f"Checking program: {programme.find('title').text} ({start_time} - {stop_time})")
|
| 81 |
+
|
| 82 |
+
# Check if current time is between start and stop times
|
| 83 |
if start_time <= current_time < stop_time:
|
| 84 |
title = programme.find('title').text if programme.find('title') is not None else "No title"
|
| 85 |
desc = programme.find('desc').text if programme.find('desc') is not None else "No description"
|