import argparse from app.logger import logger as l import datetime as dt import subprocess as proc from scheduler import Scheduler import time delta = dt.timedelta(hours=3) tz_msk = dt.timezone(offset=delta, name="MSK") logger = l.getChild(__name__) logger.warning("Starting") parser = argparse.ArgumentParser(__name__) parser.add_argument("d", help="Directory to watch") args = parser.parse_args() directory = args.d logger.info(f"Directory to watch: {directory}") def c(command: str) -> list[str]: return command.split(" ") def _watcher() -> None: g_status = proc.check_output(c("git status -s")) if g_status is not None: proc.run(c("git add .")) now = time.ctime() proc.run(c(f"git commit -m '{now}'")) proc.run(c("git fetch")) proc.run(c("git rebase")) schedule = Scheduler(tzinfo=tz_msk) schedule.minutely() schedule.daily(dt.time(hour=7, minute=5, tzinfo=tz_msk), _watcher)