kodimov.1 shipped the automatic guide export off. Kodi stored that value, so the later default of on never applied and only the channel list was refreshed; the 2-day guide ran out. Rename the setting so the new default applies, and turn it on from the one-tap TV guide setup. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
56 lines
2.0 KiB
Python
56 lines
2.0 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
import os
|
|
import time
|
|
import xbmc
|
|
import xbmcgui
|
|
from resources.lib.proxy import Proxy
|
|
from resources.lib.addon import *
|
|
from resources.lib.log import LOG
|
|
|
|
def export_epg():
|
|
from datetime import datetime, timedelta
|
|
|
|
def needs_update(filename):
|
|
if os.path.exists(filename):
|
|
file_modification_time = datetime.fromtimestamp(os.path.getmtime(filename))
|
|
return datetime.now() - file_modification_time > timedelta(hours=6)
|
|
return True
|
|
|
|
channels_filename = os.path.join(profile_dir, 'channels.m3u8')
|
|
epg_filename = os.path.join(profile_dir, 'epg.xml')
|
|
LOG('channels filename: {}'.format(channels_filename))
|
|
LOG('epg filename: {}'.format(epg_filename))
|
|
|
|
channels_needs_update = needs_update(channels_filename)
|
|
epg_needs_update = needs_update(epg_filename)
|
|
LOG('channels_needs_update: {} epg_needs_update: {}'.format(channels_needs_update, epg_needs_update))
|
|
|
|
if channels_needs_update or epg_needs_update:
|
|
xbmc.executebuiltin('RunPlugin(plugin://plugin.video.kodimovplus/?action=export_epg_now)')
|
|
|
|
if __name__ == '__main__':
|
|
LOG('Service started')
|
|
proxy = Proxy()
|
|
proxy.start()
|
|
LOG('proxy_address: {}'.format(proxy.proxy_address))
|
|
|
|
# Refreshes the TV guide channel list (new channels, new numbers) and the
|
|
# programme guide a minute after Kodi starts and then every 6 hours. Opening the add-on also renews the 10-day Movistar login.
|
|
next_export = time.time() + 60
|
|
monitor = xbmc.Monitor()
|
|
while not monitor.abortRequested():
|
|
if monitor.waitForAbort(1):
|
|
break
|
|
if time.time() >= next_export:
|
|
next_export = time.time() + 6 * 3600
|
|
if addon.getSettingBool('auto_export_epg'): # channels + programme guide
|
|
xbmc.executebuiltin('RunPlugin(plugin://plugin.video.kodimovplus/?action=export_epg_now&quiet=1)')
|
|
elif addon.getSettingBool('export_channels'):
|
|
xbmc.executebuiltin('RunPlugin(plugin://plugin.video.kodimovplus/?action=export_channels_now)')
|
|
|
|
proxy.stop()
|