From e60cc1515234cdeb7378bd4b9867895f28031313 Mon Sep 17 00:00:00 2001 From: admar Date: Sun, 23 Apr 2023 21:23:23 +0200 Subject: [PATCH] Add support for writing settings.json --- clock.py | 31 +++++++++++++++++++++++++++---- settings.json | 15 +++++++++------ 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/clock.py b/clock.py index 9984993..dd0474b 100644 --- a/clock.py +++ b/clock.py @@ -149,8 +149,15 @@ class ClockSettings(): self.wake_up_brightness = j["wake_up_brightness"] self.reading_light_brightness = j["reading_light_brightness"] self.display_brightness = j["display_brightness"] + self.alarm_activated = j["alarm_activated"] + + hour = j["alarm_time_hour"] + minute = j["alarm_time_minute"] + + t = datetime.datetime.now() + self.alarm_time = datetime.datetime(t.year, \ + t.month, t.day, hour, minute, 0, 0) - self.alarm_time = datetime.datetime(2022, 12, 10, 7, 30, 0, 0) self.alarm_activated = False self.alarm_playing = False @@ -158,13 +165,24 @@ class ClockSettings(): self.seconds_to_sunrise = 30 * 60 # 30 minutes - - def read(self): ClockSettings() def write(self): - return + j = {} + j["theme"] = self.theme_selected + j["volume"] = self.wake_up_volume + j["wake_up_sound"] = self.sound_selected + j["wake_up_brightness"] = self.wake_up_brightness + j["reading_light_brightness"] = self.reading_light_brightness + j["display_brightness"] = self.display_brightness + j["alarm_activated"] = self.alarm_activated + j["alarm_time_hour"] = self.alarm_time.hour + j["alarm_time_minute"] = self.alarm_time.minute + + with open("settings.json", "w") as f: + json.dump(j, f, indent=4) + print("settings saved") class MyClockWidget(FloatLayout): settings = ClockSettings() @@ -716,6 +734,7 @@ class MyClockWidget(FloatLayout): if self.set_alarm_timeout_counter >= 4.5 * update_rate: self.view = "clock" + self.settings.write() self.set_alarm_timeout_counter = 0 self.view_active_since = time.time() @@ -1042,7 +1061,10 @@ class MyClockWidget(FloatLayout): self.view = "clock" self.view_active_since = time.time() self.settings.alarm_activated = False + self.settings.write() else: + if (self.view.startswith("settings_menu")): + self.settings.write() self.view = "set_alarm" self.view_active_since = time.time() self.settings.alarm_activated = True @@ -1055,6 +1077,7 @@ class MyClockWidget(FloatLayout): else: self.view = "clock" self.view_active_since = time.time() + self.settings.write() print("view updated to " + self.view) def touch_up_function(self, touch): diff --git a/settings.json b/settings.json index 4386367..39a2382 100644 --- a/settings.json +++ b/settings.json @@ -1,8 +1,11 @@ { - "volume": 4, + "theme": "Light", + "volume": 13, "wake_up_sound": "NPO Radio 1", - "wake_up_brightness": 20, - "reading_light_brightness": 3, - "display_brightness": 5, - "theme": "Colorful" -} + "wake_up_brightness": 4, + "reading_light_brightness": 13, + "display_brightness": 13, + "alarm_activated": true, + "alarm_time_hour": 6, + "alarm_time_minute": 57 +} \ No newline at end of file