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
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': %>
diff --git a/obplayer/httpadmin/httpadmin.py b/obplayer/httpadmin/httpadmin.py
index 14a12ac..9562658 100644
--- a/obplayer/httpadmin/httpadmin.py
+++ b/obplayer/httpadmin/httpadmin.py
@@ -337,6 +337,12 @@ def req_save(self, request):
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
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,