From 4fc61244a938c6fd043599b862268ec05d1ec6e1 Mon Sep 17 00:00:00 2001 From: Kenneth Larrieu Date: Sun, 31 Mar 2024 18:46:08 -0700 Subject: [PATCH 1/2] added option to enable videos based on time of day --- .../resource.language.en_gb/strings.po | 16 + .../resource.language.es_es/strings.po | 15 + .../resource.language.pt_pt/strings.po | 17 + resources/lib/playlist.py | 22 +- resources/settings.xml | 1277 +++++++++++------ 5 files changed, 913 insertions(+), 434 deletions(-) diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 471a367..271f24e 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -441,3 +441,19 @@ msgstr "" msgctxt "#32132" msgid "Enable Yosemite" msgstr "" + +msgctxt "#34001" +msgid "On" +msgstr "" + +msgctxt "#34002" +msgid "Day Only" +msgstr "" + +msgctxt "#34003" +msgid "Night Only" +msgstr "" + +msgctxt "#34004" +msgid "Off" +msgstr "" diff --git a/resources/language/resource.language.es_es/strings.po b/resources/language/resource.language.es_es/strings.po index 45922be..ccfa7bd 100644 --- a/resources/language/resource.language.es_es/strings.po +++ b/resources/language/resource.language.es_es/strings.po @@ -442,3 +442,18 @@ msgctxt "#32132" msgid "Enable Yosemite" msgstr "Habilitar Yosemite" +msgctxt "#34001" +msgid "On" +msgstr "Encendido" + +msgctxt "#34002" +msgid "Day Only" +msgstr "Solamente Dia" + +msgctxt "#34003" +msgid "Night Only" +msgstr "Solamente Noche" + +msgctxt "#34004" +msgid "Off" +msgstr "Apagado" diff --git a/resources/language/resource.language.pt_pt/strings.po b/resources/language/resource.language.pt_pt/strings.po index 6c0a836..d5d306a 100644 --- a/resources/language/resource.language.pt_pt/strings.po +++ b/resources/language/resource.language.pt_pt/strings.po @@ -441,3 +441,20 @@ msgstr "Ativar West Africa to the Alps" msgctxt "#32132" msgid "Enable Yosemite" msgstr "Ativar Yosemite" + +msgctxt "#34001" +msgid "On" +msgstr "Ligadas" + +msgctxt "#34002" +msgid "Day Only" +msgstr "Apenas Dia" + +msgctxt "#34003" +msgid "Night Only" +msgstr "Apenas a Noite" + +msgctxt "#34004" +msgid "Off" +msgstr "Desligado" + diff --git a/resources/lib/playlist.py b/resources/lib/playlist.py index 013cc24..8311b83 100644 --- a/resources/lib/playlist.py +++ b/resources/lib/playlist.py @@ -26,7 +26,6 @@ # Local save location of the entries.json file containing video URLs local_entries_json_path = os.path.join(addon_path, "resources", "entries.json") - # Fetch the TAR file containing the latest entries.json and overwrite the local copy def get_latest_entries_from_apple(): xbmc.log("Downloading the Apple Aerials resources.tar to disk", level=xbmc.LOGDEBUG) @@ -81,8 +80,25 @@ def compute_playlist_array(self): # Retrieve the location name location = block["accessibilityLabel"] try: - # Get the corresponding setting Bool by adding "enable-" + lowercase + no whitespace - current_location_enabled = addon.getSettingBool("enable-" + location.lower().replace(" ", "")) + # determine if current video is enabled (on, day, night, off) + current_location_state = addon.getSettingInt("enable-" + location.lower().replace(" ", "")) + xbmc.log(f"Current location state is {current_location_state}", level=xbmc.LOGDEBUG) + # returns True if system time between start/end time, else False + day = xbmc.getInfoLabel("System.Time(06:00,18:00)") + xbmc.log(f"Currently {'day' if day else 'night'}time", level=xbmc.LOGDEBUG) + # always on + if current_location_state == 0: + current_location_enabled = True + # enabled for day and currently day + elif current_location_state == 1 and day: + current_location_enabled = True + # enabled for night and currently night + elif current_location_state == 2 and not day: + current_location_enabled = True + # disabled + else: + current_location_enabled = False + except TypeError: xbmc.log("Location {} did not have a matching enable/disable setting".format(location), level=xbmc.LOGDEBUG) diff --git a/resources/settings.xml b/resources/settings.xml index bde0650..ec20adb 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -1,432 +1,847 @@ - -
- - - - 0 - false - - - - 0 - false - - - - 0 - false - - - - 0 - false - - - - 0 - false - - - - - - 0 - 0 - - - - - - - - - - - 0 - 0 - - - - - - - - - - 1 - 2 - - - - - - - 0 - 5 - - 1 - 5 - 120 - - - - 2 - - - - false - - - - 0 - false - - - - 1 - 2 - - - - - - - 0 - false - - - - 1 - 2 - - - - - - - - - - 0 - false - - - false - - - - - - - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - 0 - true - - - - - - - - 0 - - - false - true - - - 32010 - - - - 0 - false - - - - 0 - true - - - - - false - - - - - - 0 - true - - - - 0 - RunAddon(screensaver.atv4,offline) - - true - - - - - -
-
+
+ + + + 0 + false + + + + 0 + false + + + + 0 + false + + + + 0 + false + + + + 0 + false + + + + + + 0 + 0 + + + + + + + + + + + 0 + 0 + + + + + + + + + + 1 + 2 + + + + + + + 0 + 5 + + 1 + 5 + 120 + + + + 2 + + + + false + + + + 0 + false + + + + 1 + 2 + + + + + + + 0 + false + + + + 1 + 2 + + + + + + + + + + 0 + false + + + false + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + 0 + + + false + true + + + 32010 + + + + 0 + false + + + + 0 + true + + + + + false + + + + + + 0 + true + + + + 0 + RunAddon(screensaver.atv4,offline) + + true + + + + + +
+ \ No newline at end of file From 10ede15dcbe878d8c53bb590c6a204121fddbd3d Mon Sep 17 00:00:00 2001 From: Kenneth Larrieu Date: Sun, 31 Mar 2024 19:39:56 -0700 Subject: [PATCH 2/2] fixed systime parsing --- resources/lib/playlist.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/resources/lib/playlist.py b/resources/lib/playlist.py index 8311b83..f152be1 100644 --- a/resources/lib/playlist.py +++ b/resources/lib/playlist.py @@ -11,6 +11,7 @@ import tarfile from random import shuffle from urllib import request +import datetime as dt import xbmc import xbmcvfs @@ -84,7 +85,11 @@ def compute_playlist_array(self): current_location_state = addon.getSettingInt("enable-" + location.lower().replace(" ", "")) xbmc.log(f"Current location state is {current_location_state}", level=xbmc.LOGDEBUG) # returns True if system time between start/end time, else False - day = xbmc.getInfoLabel("System.Time(06:00,18:00)") + systime = xbmc.getInfoLabel("System.Time(hh:mm xx)") + systime = dt.datetime.strptime(systime, "%I:%M %p") + start_time = dt.datetime.strptime("6:00 AM", "%I:%M %p") + end_time = dt.datetime.strptime("6:00 PM", "%I:%M %p") + day = True if (start_time <= systime < end_time) else False xbmc.log(f"Currently {'day' if day else 'night'}time", level=xbmc.LOGDEBUG) # always on if current_location_state == 0: