diff --git a/epg-grabber/getEpgs.py b/epg-grabber/getEpgs.py index a45c3c8..8a1b183 100644 --- a/epg-grabber/getEpgs.py +++ b/epg-grabber/getEpgs.py @@ -3,8 +3,11 @@ import gzip import xml.etree.ElementTree as ET import requests +save_as_gz = False # Set to True to save as .gz, False for uncompressed XML + tvg_ids_file = os.path.join(os.path.dirname(__file__), 'tvg-ids.txt') output_file = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'epg.xml') +output_file_gz = output_file + '.gz' def fetch_and_extract_xml(url): response = requests.get(url) @@ -47,10 +50,15 @@ def filter_and_build_epg(urls): if tvg_id in valid_tvg_ids: root.append(programme) - tree = ET.ElementTree(root) - tree.write(output_file, encoding='utf-8', xml_declaration=True) - - print(f"New EPG saved to {output_file}") + if save_as_gz: + with gzip.open(output_file_gz, 'wb') as f: + tree = ET.ElementTree(root) + tree.write(f, encoding='utf-8', xml_declaration=True) + print(f"New EPG saved to {output_file_gz}") + else: + tree = ET.ElementTree(root) + tree.write(output_file, encoding='utf-8', xml_declaration=True) + print(f"New EPG saved to {output_file}") urls = [ 'https://epgshare01.online/epgshare01/epg_ripper_US1.xml.gz',