Add comments and replace a global variable with a local one
This commit is contained in:
parent
bdf5b11e26
commit
be7e202543
1 changed files with 9 additions and 9 deletions
|
@ -6,10 +6,6 @@ from datetime import datetime, time
|
||||||
from apscheduler.schedulers.blocking import BlockingScheduler
|
from apscheduler.schedulers.blocking import BlockingScheduler
|
||||||
from apscheduler.triggers.cron import CronTrigger
|
from apscheduler.triggers.cron import CronTrigger
|
||||||
|
|
||||||
# Setting up essential variables
|
|
||||||
global chosen_wallpaper_set
|
|
||||||
chosen_wallpaper_set = False
|
|
||||||
|
|
||||||
# setup logging
|
# setup logging
|
||||||
chdir(str(getenv("HOME")) + "/.local/share/wallman/")
|
chdir(str(getenv("HOME")) + "/.local/share/wallman/")
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
@ -45,6 +41,7 @@ class _ConfigLib:
|
||||||
class ConfigValidity(_ConfigLib):
|
class ConfigValidity(_ConfigLib):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
self.chosen_wallpaper_set = False
|
||||||
|
|
||||||
def _check_wallpapers_per_set_and_changing_times(self) -> None:
|
def _check_wallpapers_per_set_and_changing_times(self) -> None:
|
||||||
# Check if the amount of wallpapers_per_set and given changing times match
|
# Check if the amount of wallpapers_per_set and given changing times match
|
||||||
|
@ -88,17 +85,18 @@ class WallpaperLogic(_ConfigLib):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
|
# Returns a list of a split string that contains a changing time from the config file
|
||||||
def _clean_times(self, desired_time) -> list:
|
def _clean_times(self, desired_time) -> list:
|
||||||
unclean_times = list(self.config_changing_times.values())[desired_time]
|
unclean_times = list(self.config_changing_times.values())[desired_time]
|
||||||
return unclean_times.split(":")
|
return unclean_times.split(":")
|
||||||
|
|
||||||
def _choose_wallpaper_set(self) -> None:
|
def _choose_wallpaper_set(self) -> None:
|
||||||
from random import choice as choose_from
|
from random import choice as choose_from
|
||||||
global chosen_wallpaper_set
|
self.chosen_wallpaper_set = choose_from(self.config_used_sets)
|
||||||
chosen_wallpaper_set = choose_from(self.config_used_sets)
|
self.wallpaper_list = list(self.config_file[self.chosen_wallpaper_set].values())
|
||||||
self.wallpaper_list = list(self.config_file[chosen_wallpaper_set].values())
|
logger.debug(f"Chose wallpaper set {self.chosen_wallpaper_set}")
|
||||||
logger.debug(f"Chose wallpaper set {chosen_wallpaper_set}")
|
|
||||||
|
|
||||||
|
# Verify if a given time is in a given range
|
||||||
def _time_in_range(self, start, end, x) -> bool:
|
def _time_in_range(self, start, end, x) -> bool:
|
||||||
if start <= end:
|
if start <= end:
|
||||||
return start <= x <= end
|
return start <= x <= end
|
||||||
|
@ -106,7 +104,8 @@ class WallpaperLogic(_ConfigLib):
|
||||||
return start <= x or x < end
|
return start <= x or x < end
|
||||||
|
|
||||||
def set_wallpaper_by_time(self) -> None:
|
def set_wallpaper_by_time(self) -> None:
|
||||||
if chosen_wallpaper_set is False:
|
# Ensure use of a consistent wallpaper set
|
||||||
|
if self.chosen_wallpaper_set is False:
|
||||||
self._choose_wallpaper_set()
|
self._choose_wallpaper_set()
|
||||||
for time_range in range(self.config_total_changing_times - 1):
|
for time_range in range(self.config_total_changing_times - 1):
|
||||||
clean_time = self._clean_times(time_range)
|
clean_time = self._clean_times(time_range)
|
||||||
|
@ -121,6 +120,7 @@ class WallpaperLogic(_ConfigLib):
|
||||||
|
|
||||||
def schedule_wallpapers(self):
|
def schedule_wallpapers(self):
|
||||||
scheduler = BlockingScheduler()
|
scheduler = BlockingScheduler()
|
||||||
|
# Create a scheduled job for every changing time
|
||||||
for changing_time in range(len(self.config_changing_times)):
|
for changing_time in range(len(self.config_changing_times)):
|
||||||
clean_time = self._clean_times(changing_time)
|
clean_time = self._clean_times(changing_time)
|
||||||
scheduler.add_job(self.set_wallpaper_by_time, trigger=CronTrigger(hour=clean_time[0], minute=clean_time[1], second=clean_time[2]))
|
scheduler.add_job(self.set_wallpaper_by_time, trigger=CronTrigger(hour=clean_time[0], minute=clean_time[1], second=clean_time[2]))
|
||||||
|
|
Loading…
Reference in a new issue