#!/usr/bin/python """ OBS countdown timer for OBS """ import argparse import os import time TIMER_FILE = '/home/kleph/stream/timer.txt' parser = argparse.ArgumentParser() parser.add_argument('-t', '--timer', help="start time in seconds", type=int, default=300) parser.add_argument('-f', '--file', help="where to write the time", type=str, default=TIMER_FILE) args = parser.parse_args() def write_countdown(filename, stimer): """ decrease counter anf write synchronously to dest file """ tsec = stimer with open(filename, 'w') as destfile: while tsec > 0: tsec -= 1 minutes, sec = divmod(tsec, 60) print(f'{minutes:02d}:{sec:02d}') destfile.seek(0) destfile.write(f'{minutes:02d}:{sec:02d}') os.fsync(destfile) time.sleep(1) write_countdown(args.file, args.timer)