Skip to content

Instantly share code, notes, and snippets.

@Neoklosch
Created January 31, 2017 11:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Neoklosch/65670e709a449b8533cc1b207bb14c02 to your computer and use it in GitHub Desktop.
Save Neoklosch/65670e709a449b8533cc1b207bb14c02 to your computer and use it in GitHub Desktop.
python tea timer
#!/usr/bin/env python
import argparse
import os
import time
import signal
import sys
import gi
gi.require_version('Notify', '0.7')
from threading import Timer
from gi.repository import Notify
def signal_handler(signal, frame):
print('no tea today')
sys.exit(0)
def show_notification():
Notify.Notification.new("It is tea time").show()
beep_time = 0.2
frequency = 800
for i in range(7):
os.system('play --no-show-progress --null --channels 1 synth %s sine %f' % (beep_time, frequency))
time.sleep(0.3)
def main():
signal.signal(signal.SIGINT, signal_handler)
Notify.init("Teatimer")
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('-s', '--seconds', help='time in seconds', type=int)
parser.add_argument('-m', '--minutes', help='time in minutes', type=int)
args = parser.parse_args()
if args.seconds:
time.sleep(args.seconds)
show_notification()
elif args.minutes:
time.sleep(args.minutes * 60)
show_notification()
else:
parser.print_help()
sys.exit(0)
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment