Commit Prototype
This commit is contained in:
commit
06a8d3acca
1 changed files with 85 additions and 0 deletions
85
wallman.py
Normal file
85
wallman.py
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
from os import system, chdir, getenv
|
||||||
|
from datetime import datetime
|
||||||
|
from apscheduler.schedulers.blocking import BlockingScheduler
|
||||||
|
from apscheduler.triggers.cron import CronTrigger
|
||||||
|
import logging
|
||||||
|
|
||||||
|
# Setup logging
|
||||||
|
chdir(str(getenv("HOME")) + "/.local/share/wallman")
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
logging.basicConfig(filename="wallman.log", encoding="utf-8", level=logging.DEBUG)
|
||||||
|
|
||||||
|
# Initialize the global chosen_wallpaper_set variable
|
||||||
|
global chosen_wallpaper_set
|
||||||
|
chosen_wallpaper_set = False
|
||||||
|
|
||||||
|
def choose_wallpaper_set():
|
||||||
|
# Random library for choosing wallpaper set
|
||||||
|
from random import choice as choose_from
|
||||||
|
wallpaper_sets = ["nature", "anime"]
|
||||||
|
selected_set = choose_from(wallpaper_sets)
|
||||||
|
return selected_set
|
||||||
|
|
||||||
|
def set_wallpaper_once():
|
||||||
|
# Set the respective Wallpaper for each hour of the day
|
||||||
|
# Deepnight Wallpaper
|
||||||
|
if datetime.now().hour in range(0, 5):
|
||||||
|
system("feh --bg-scale --no-fehbg /home/emma/Bilder/Hintergründe/wideAuroraNight.jpg")
|
||||||
|
# Morning Wallpaper
|
||||||
|
elif datetime.now().hour in range(6, 9):
|
||||||
|
system("feh --bg-scale --no-fehbg /home/emmma/Bilder/Hintergründe/widePeninsulasMorning.jpg")
|
||||||
|
# Dayhour Wallpaper
|
||||||
|
elif datetime.now().hour in range(10, 17):
|
||||||
|
system("feh --bg-scale --no-fehbg /home/emma/Bilder/Hintergründe/wideMountainDay.jpg")
|
||||||
|
# Evening Wallpaper
|
||||||
|
elif datetime.now().hour in range(18, 21):
|
||||||
|
system("feh --bg-scale --no-fehbg /home/emma/Bilder/Hintergründe/wideLakeEvening.jpg")
|
||||||
|
# Early Night Wallpaper
|
||||||
|
else:
|
||||||
|
system("feh --bg-scale --no-fehbg /home/emma/Bilder/Hintergründe/wideMountainEveningNight.jpg")
|
||||||
|
|
||||||
|
def set_anime_wallpaper_once():
|
||||||
|
# Set the respective Wallpaper for each hour of the day
|
||||||
|
# Deepnight Wallpaper
|
||||||
|
if datetime.now().hour in range(0, 5):
|
||||||
|
system("feh --bg-scale --no-fehbg '/home/emma/Bilder/Hintergründe/Anime Wallpaper/wideSniperNight.jpg'")
|
||||||
|
# Morning Wallpaper
|
||||||
|
elif datetime.now().hour in range(6, 9):
|
||||||
|
system("feh --bg-scale --no-fehbg '/home/emma/Bilder/Hintergründe/Anime Wallpaper/wideDepressionMorning.jpg'")
|
||||||
|
# Daytime Wallpaper
|
||||||
|
elif datetime.now().hour in range(10, 17):
|
||||||
|
system("feh --bg-scale --no-fehbg '/home/emma/Bilder/Hintergründe/Anime Wallpaper/WideStreetDay.jpg'")
|
||||||
|
# Evening Wallpaper
|
||||||
|
elif datetime.now().hour in range(18, 21):
|
||||||
|
system("feh --bg-scale --no-fehbg '/home/emma/Bilder/Hintergründe/Anime Wallpaper/WideDualityEvening.jpg'")
|
||||||
|
# Early Night Wallpaper
|
||||||
|
else:
|
||||||
|
system("feh --bg-scale --no-fehbg '/home/emma/Bilder/Hintergründe/Anime Wallpaper/wideNameNight.png'")
|
||||||
|
|
||||||
|
def set_chosen_wallpaper():
|
||||||
|
global chosen_wallpaper_set
|
||||||
|
if chosen_wallpaper_set == False:
|
||||||
|
chosen_wallpaper_set = choose_wallpaper_set()
|
||||||
|
logger.info(f"chose wallpaper set: {chosen_wallpaper_set}.")
|
||||||
|
if chosen_wallpaper_set == "nature":
|
||||||
|
set_wallpaper_once()
|
||||||
|
logger.info(f"Set {chosen_wallpaper_set} wallpaper.")
|
||||||
|
elif chosen_wallpaper_set == "anime":
|
||||||
|
logger.info(f"Set {chosen_wallpaper_set} wallpaper.")
|
||||||
|
set_anime_wallpaper_once()
|
||||||
|
else:
|
||||||
|
system("feh --bg-scale --no-fehbg /home/emma/Bilder/Hintergründe/wideFallbackScreen.jpg")
|
||||||
|
logger.warning("Something went wrong and the fallback wallpaper has been set.")
|
||||||
|
|
||||||
|
def schedule_wallpapers():
|
||||||
|
scheduler = BlockingScheduler()
|
||||||
|
scheduler.add_job(set_chosen_wallpaper, trigger=CronTrigger(hour="1,6,10,18,22"))
|
||||||
|
scheduler.start()
|
||||||
|
logger.info("The scheduler has been started.")
|
||||||
|
|
||||||
|
def main():
|
||||||
|
set_chosen_wallpaper()
|
||||||
|
schedule_wallpapers()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Reference in a new issue