implement timezone as part of config instead of env

This commit is contained in:
Von Random 2024-11-05 03:30:09 +02:00
parent 60e9584949
commit fd97c1862a
3 changed files with 6 additions and 2 deletions

View file

@ -17,5 +17,6 @@ response_tokens: tokens.dist.yml
# scheduled task list
schedule: sched.dist.yml
timezone: Europe/Moscow
admins:
- 00000000

View file

@ -1,12 +1,13 @@
import asyncio
import random
import yaml
import aiocron
import telethon
import pgbotlib.defaults
import pgbotlib.response
import pgbotlib.misc
import pytz
import yaml
class Cron:
@ -15,6 +16,7 @@ class Cron:
client: telethon.TelegramClient,
responder: pgbotlib.response.Responder) -> None:
schedule_conf = config.get('schedule', pgbotlib.defaults.SCHEDULE)
self.tz = config.get('timezone', pgbotlib.defaults.TZ)
with open(schedule_conf, 'r', encoding='utf-8') as data:
self.sched = yaml.safe_load(data.read())
self.responder = responder
@ -33,4 +35,4 @@ class Cron:
def plan(self) -> None:
for job in self.sched:
aiocron.crontab(job['cron'], func=self.__mkjob(job))
aiocron.crontab(job['cron'], tz=self.tz, func=self.__mkjob(job))

View file

@ -2,3 +2,4 @@ CONFDIR = '/pgbot/conf'
CONFIG = CONFDIR + '/pgbot.yml'
TOKENS = CONFDIR + '/tokens.yml'
SCHEDULE = CONFDIR + '/sched.yml'
TZ = 'UTC'