LoremPizza commited on
Commit
b13458f
·
verified ·
1 Parent(s): 57b2f64

Update wltv_server.py

Browse files
Files changed (1) hide show
  1. 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
- # Get the current time
64
- current_time = datetime.now()
 
 
 
 
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"