From 4fbdacb859e3238e13b3d42e365222c662c3f9cb Mon Sep 17 00:00:00 2001 From: Hektor Misplon Date: Fri, 20 May 2022 00:37:29 +0200 Subject: [PATCH] Update pomodoro script (repeats) --- .bin/pomo | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/.bin/pomo b/.bin/pomo index 31b3cab..6ee073b 100755 --- a/.bin/pomo +++ b/.bin/pomo @@ -20,23 +20,38 @@ atexit.register(clear) parser = ArgumentParser() +parser.add_argument('-p', '--prep-duration', type=int, help='Preparation duration of a session', default=0) parser.add_argument('-w', '--work-duration', type=int, help='Duration of a session', default=25) parser.add_argument('-b', '--break-duration', type=int, help='Duration of a break', default=5) +parser.add_argument('-r', '--repeats', type=int, help='Numer of sessions', default=1) args = parser.parse_args() -work_duration = args.work_duration * 60 +prep_duration = args.prep_duration * 60 +work_duration = args.work_duration * 60 break_duration = args.break_duration * 60 +repeats = args.repeats -def countdown(duration): - while duration!= 0: - mins = duration // 60 - secs = duration % 60 - os.system('echo -n \x03 "{:02d}:{:02d} \x01" > /tmp/pomo'.format(mins, secs)) - sleep(1) - duration -= 1 +def make_countdown(color): + def countdown(duration): + while duration!= 0: + mins = duration // 60 + secs = duration % 60 + os.system('echo -n "{:s} {:02d}:{:02d} \x01" > /tmp/pomo'.format(color, mins, secs)) + sleep(1) + duration -= 1 + return countdown -countdown(work_duration) -notification.notify(title="Time for a break") -countdown(break_duration) -notification.notify(title="Break is over, set a new timer") +prep_countdown = make_countdown("\x01") +work_countdown = make_countdown("\x03") +break_countdown = make_countdown("\x02") + +prep_countdown(prep_duration) + +while repeats!=0: + notification.notify(title="Get started") + work_countdown(work_duration) + notification.notify(title="Time for a break") + break_countdown(break_duration) + notification.notify(title="Break is over, set a new timer") + repeats-=1