def loop(): global activeScreen global oldActiveScreen global screensaverNeedsUpdate if activeScreen: if oldActiveScreen != activeScreen: coffeeBot.state.needs_render = True coffeeBot.apps[coffeeBot.get_active_app()].state.needs_render = True oldActiveScreen = activeScreen coffeeBot.update('fg') else: coffeeBot.update('bg') if screensaverNeedsUpdate: screen.fill('black') screen.image('icon.png', xy=screensaverCoordinates, max_width=90, max_height=90, scale='fit', align="center") screen.text( datetime.datetime.now(settings['timezone']).strftime('%H:%M'), xy=(screensaverCoordinates[0], screensaverCoordinates[1] + 55), color=(255, 255, 255), font_size=16, font=Utils.get_font_resource('akkuratstd-bold.ttf') ) screensaverNeedsUpdate = False
import datetime from random import randint import subprocess from classes.utils import Utils import json from dateutil import parser as date_parser from dateutil.tz import gettz screen.fill((0, 0, 0)) screen.image('icon.png', xy=(160, 120), max_width=150, max_height=150, scale='fit', align="center") screen.text( 'loading...', xy=(160, 210), align='center', color=(255, 255, 255), font_size=16, font=Utils.get_font_resource('akkuratstd-bold.ttf') ) screen.update() settings = { 'ticksPerSecond': 20, 'countdownSeconds': 300, 'sleepAfterSeconds': 300, 'timezone': gettz(tingbot.app.settings['coffeeBot']['timezone']), 'musicFolder': tingbot.app.settings['coffeeBot']['musicFolder'] } startup = True activeScreen = True oldActiveScreen = activeScreen lastActionAt = datetime.datetime.now(settings['timezone']) coffeeBot = CoffeeBot(screen, settings['countdownSeconds'], settings['ticksPerSecond'], settings['timezone'], settings['musicFolder'])