From f56d14d3933eab3777c1591e8dc0429d523940c1 Mon Sep 17 00:00:00 2001 From: Troy Date: Thu, 2 Oct 2025 16:44:32 -0700 Subject: [PATCH 1/4] AWS access key and key id filtered from being exported. --- obplayer/data.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/obplayer/data.py b/obplayer/data.py index d18a9ec..01f5d8e 100644 --- a/obplayer/data.py +++ b/obplayer/data.py @@ -753,6 +753,11 @@ def save_settings(self, settings): def list_settings(self, hidepasswords=False): result = {} for name, value in self.settings_cache.items(): - if not hidepasswords or not name.endswith("_password"): + if ( + not hidepasswords + or not name.endswith("_password") + and not name.endswith("_access_key") + and not name.endswith("_access_key_id") + ): result[name] = value return result From 06f4ece3a1163217cce99a5f23601ad097dcae51 Mon Sep 17 00:00:00 2001 From: Troy Date: Fri, 3 Oct 2025 11:46:24 -0700 Subject: [PATCH 2/4] Changed error string for unsupported system. --- obplayer/httpadmin/http/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/obplayer/httpadmin/http/index.html b/obplayer/httpadmin/http/index.html index 7af26ed..6644706 100644 --- a/obplayer/httpadmin/http/index.html +++ b/obplayer/httpadmin/http/index.html @@ -29,7 +29,7 @@

<%= obplayer.HTTPAdmin.title %>

<% if obplayer.SUPPORTED == False: %> -
This system isn't a ML350/Raspberry Pi. This is a unsupported system, so your results may very.
+
This system isn't a ML350/Raspberry Pi. This is an unsupported system, so your results may vary.
<% end %> <% if obplayer.Config.setting('http_admin_password',True) == 'admin': %> From 8da477a665444ca20827c9ad4e67bdb482612228 Mon Sep 17 00:00:00 2001 From: Troy Date: Fri, 3 Oct 2025 12:47:02 -0700 Subject: [PATCH 3/4] Fixed admin username not updating when changing both the username and password together. --- obplayer/httpadmin/httpadmin.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/obplayer/httpadmin/httpadmin.py b/obplayer/httpadmin/httpadmin.py index 14a12ac..5cc6bae 100644 --- a/obplayer/httpadmin/httpadmin.py +++ b/obplayer/httpadmin/httpadmin.py @@ -336,7 +336,13 @@ def req_save(self, request): else: del request.args["http_admin_password_retype"] self.password = request.args["http_admin_password"][0] - + + if "http_admin_username" in request.args: + if request.args["http_admin_username"][0] == "": + del request.args["http_admin_username"] + else: + self.username = request.args["http_admin_username"][0] + # run through each setting and make sure it's valid. if not, complain. for key in request.args: setting_name = key @@ -350,7 +356,8 @@ def req_save(self, request): # we didn't get an errors on validate, so update each setting now. settings = {key: value[0] for (key, value) in request.args.items()} obplayer.Config.save_settings(settings) - + + return {"status": True} def req_import(self, request): From 7d32db51a2e062c094f1f1c0400d37ae63772df2 Mon Sep 17 00:00:00 2001 From: Troy Date: Wed, 8 Oct 2025 13:30:10 -0700 Subject: [PATCH 4/4] formatting change --- obplayer/httpadmin/httpadmin.py | 7 +++---- obplayer/scheduler/scheduler.py | 17 ++++++++++++++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/obplayer/httpadmin/httpadmin.py b/obplayer/httpadmin/httpadmin.py index 5cc6bae..9562658 100644 --- a/obplayer/httpadmin/httpadmin.py +++ b/obplayer/httpadmin/httpadmin.py @@ -336,13 +336,13 @@ def req_save(self, request): else: del request.args["http_admin_password_retype"] self.password = request.args["http_admin_password"][0] - + if "http_admin_username" in request.args: if request.args["http_admin_username"][0] == "": del request.args["http_admin_username"] else: self.username = request.args["http_admin_username"][0] - + # run through each setting and make sure it's valid. if not, complain. for key in request.args: setting_name = key @@ -356,8 +356,7 @@ def req_save(self, request): # we didn't get an errors on validate, so update each setting now. settings = {key: value[0] for (key, value) in request.args.items()} obplayer.Config.save_settings(settings) - - + return {"status": True} def req_import(self, request): diff --git a/obplayer/scheduler/scheduler.py b/obplayer/scheduler/scheduler.py index 97a4d53..4a30c15 100644 --- a/obplayer/scheduler/scheduler.py +++ b/obplayer/scheduler/scheduler.py @@ -358,15 +358,26 @@ def play_media(self, media, offset, present_time): fadeout = False # fade out if media is the last track or media ends at/after the show end time - if(fadeout_mode == "always" and self.end_time() and (self.playlist.is_last() or self.media_start_time + media["duration"] >= self.end_time())): + if ( + fadeout_mode == "always" + and self.end_time() + and ( + self.playlist.is_last() + or self.media_start_time + media["duration"] >= self.end_time() + ) + ): fadeout = True # fade out if media ends after the show end time - if(fadeout_mode == "auto" and self.end_time() and self.media_start_time + media["duration"] > self.end_time()): + if ( + fadeout_mode == "auto" + and self.end_time() + and self.media_start_time + media["duration"] > self.end_time() + ): fadeout = True # if track does not end in time, use show end_time instead of track duration - if (fadeout): + if fadeout: self.fadeout = True self.ctrl.add_request( start_time=self.media_start_time,