git-pusher/main.py

38 lines
969 B
Python
Raw Normal View History

2024-10-08 00:18:36 +03:00
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)