-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtimer.py
More file actions
84 lines (72 loc) · 1.8 KB
/
Copy pathtimer.py
File metadata and controls
84 lines (72 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import webapp2
import head
title = "Timer"
page = """
<h1 id = "countdown"></h1>
<form method="get">
<input type="button" value="reset" onclick="rset()">
<label>Set period (sec)</label>
<input type="number" name="s" id = "startTime" value="">
<input type="button" value="set" onclick="set()">
<input type="button" value="set+reset" onclick="forceset()">
<input type="submit" value="go">
</form>
<script>
var sec = 1000
var soundlong = 0.333
var soundfreq = 666
var startTime = {{start}};
var sound = document.getElementById("audio");
var countdown = document.getElementById("countdown");
var startTimeInput = document.getElementById("startTime");
var interval = null;
var audioContext = null;
rset();
function f() {
c -= 1;
if (audioContext != undefined) {
audioContext.close()
audioContext = null
}
if (c <= 0) {
audioContext = new AudioContext();
var oscillator = audioContext.createOscillator();
oscillator.frequency.value = soundfreq;
oscillator.connect(audioContext.destination);
oscillator.start(0);
oscillator.stop(soundlong);
c = startTime;
}
countdown.innerHTML = c;
}
function set() {
startTime = parseInt(startTimeInput.value);
}
function rset() {
c = startTime;
countdown.innerHTML = c;
startTimeInput.setAttribute("value",c);
if (interval != undefined) {
clearInterval(interval);
}
interval = setInterval(f, sec);
}
function forceset() {
set();
rset();
}
</script>
"""
class TimerPage(head.HeadPage):
page = page
noHomeLink = True
title = "Timer"
def get(self):
start = self.request.get("s")
if not start:
start = "10";
self.render(start = start)
from head import debug
app = webapp2.WSGIApplication([
(head.adr['timer'], TimerPage),
], debug=head.debug)