#!/usr/bin/env python """ Beep on me in a while. Command line utility to shedule an alarm in a specified number of minutes. Need `beep `_ on a GNU/Linux system. usage: alarm [-h] [-b ""] [-a] number Beep-alarm in some minutes positional arguments: number Number of minutes until alarm. optional arguments: -h, --help show this help message and exit -b "", --beep-options "" The options to provide to the beep command. See man beep. Default: "-l 200 -d 50 -r 5" -a, --asynch If given - start beep in the background """ import argparse import os description = ('Beep-alarm in some minutes') parser = argparse.ArgumentParser(description=description) boptsdef = '-l 200 -d 50 -r 5' parser.add_argument('-b', '--beep-options', metavar='""', dest='beep_opts', default=boptsdef, help=('The options to provide to the beep command. ' 'See man beep. Default: "' + boptsdef + '"')) parser.add_argument(dest='minutes', metavar='number', type=float, help=('Number of minutes until alarm.')) parser.add_argument('-a', '--asynch', dest='asynch', action='store_true', help='If given - start beep in the background') args = parser.parse_args() print 'minutes =', args.minutes print 'beep_opts =', args.beep_opts print 'asynch =', args.asynch ms = str(args.minutes * 60000) bg = '' if args.asynch: bg = ' &' os.system('beep -l 0 -D ' + ms + ' --new ' + args.beep_opts + bg)