commit 628dff712fab6a2bb0c19b8e34ef63de4b931a3c Author: Peter Boráros Date: Wed Jul 10 18:26:44 2013 +0200 initial diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..703dd20 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +!.gitignore +bin +include +lib +local diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f617898 --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ + + +initenv: + virtualenv . + virtualenv --relocatable . + bin/pip install -r requirements.txt +rmenv: + rm -fr bin lib include local diff --git a/README.md b/README.md new file mode 100644 index 0000000..5a77d05 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +TalkNight timer +=============== + +Small timer tool, that firmly notifies presenter. Requires python-virtualenv package. diff --git a/continue.mp3 b/continue.mp3 new file mode 100644 index 0000000..4e28772 Binary files /dev/null and b/continue.mp3 differ diff --git a/expired.mp3 b/expired.mp3 new file mode 100644 index 0000000..be0f4f2 Binary files /dev/null and b/expired.mp3 differ diff --git a/finish.mp3 b/finish.mp3 new file mode 100644 index 0000000..c4d51af Binary files /dev/null and b/finish.mp3 differ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..5abe246 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +mpylayer diff --git a/start.mp3 b/start.mp3 new file mode 100644 index 0000000..7cbfbee Binary files /dev/null and b/start.mp3 differ diff --git a/test.mp3 b/test.mp3 new file mode 100644 index 0000000..a1c8d59 Binary files /dev/null and b/test.mp3 differ diff --git a/timer.py b/timer.py new file mode 100644 index 0000000..d00d667 --- /dev/null +++ b/timer.py @@ -0,0 +1,55 @@ + +from __future__ import print_function + +def args(argv): + import argparse + parser = argparse.ArgumentParser(description='TalkNight timer.', epilog='example: %(prog)s --first 1200 --other 600 600 600') + parser.add_argument('--first', nargs=1, default=[1200], metavar='', help='specify first time limit') + parser.add_argument('--other', nargs='+', default=[600,600,600], metavar='', help='specify next time limit(s).') + return parser.parse_args(argv) + +def wait(seconds): + from time import sleep + print('Waiting for %d minutes..'%(seconds/60)) + sleep(seconds) + +if __name__ == '__main__': + from sys import argv + import mpylayer + from itertools import chain, imap + a = args(argv[1:]) + p = mpylayer.MPlayerControl() + + while True: + p.loadfile('test.mp3') + if raw_input('Do you hear the voice? ') == 'y': + break + + p.loadfile('start.mp3') + intervals = map(int,chain(a.first,a.other)) + end = False + for t in intervals[:-1]: + wait(t) + + p.loadfile('expired.mp3') + + i = raw_input('Can continue? ') + + if i == 'y': + # continue + print('Yeah, can continue') + p.loadfile('continue.mp3') + else: + end = True + break + + if not end: + wait(intervals[-1]) + + # finish in 2 minutes + p.loadfile('finish.mp3') + wait(120) # some dealy for mplayer + print('Done') + + + diff --git a/timer.sh b/timer.sh new file mode 100755 index 0000000..93bd6e2 --- /dev/null +++ b/timer.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +DIR="$(dirname $0)" +PYTHON=$DIR/bin/python +TIMER=$DIR/timer.py +$PYTHON $TIMER $*