/
main.py
106 lines (73 loc) · 2.42 KB
/
main.py
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#coding: utf-8
from earthquakesnapshot import QuakeSnapshot
def test_animation():
from datetime import date,time,timedelta
import datetime
d = date(2013,11,17)
t = time(8,36)
start = datetime.combine(d,t)
now = start
t = time(9,52)
end = datetime.combine(d,t)
delta = timedelta(seconds=2)
snapshots = []
while now < end:
snapshot = QuakeSnapshot(now)
print snapshot.get_url()
snapshots.append(snapshot)
now += delta
import animation
animation.write_animatedgif( snapshots, "hoge.gif" )
class DetectorLogger:
def earhquake_emerged(self,snapshot):
print "::Emerged!"
def earhquake_finished(self,snapshot):
print "::Finished!"
def update_modelstate(self,data):
snapshot,detector = data
print snapshot.timestr, "\t", detector.score
class TwitterBot:
def __init__(self):
import twitterbot
import datetime
self.twitter = twitterbot.Twitter("alatani")
self.lastupdate = datetime.datetime.fromtimestamp(0)
self.interval = datetime.timedelta(seconds=60)
def earhquake_emerged(self,snapshot):
import datetime
now = datetime.datetime.now()
if now > self.lastupdate + self.interval:
print now
timestr = now.strftime("%Y/%m/%d %H:%M:%S")
message = "【自動】 ゆれ(?) : " + timestr
self.lastupdate = now
self.twitter.post(message)
def earhquake_finished(self,snapshot):
pass
def update_modelstate(self,data):
pass
class GifAnimationConstructor:
def update_snapshot(self,snapshot):
pass
def earhquake_emerged(self,snapshot):
pass
def earhquake_finished(self,snapshot):
pass
def update_modelstate(self,data):
snapshot,detector = data
pass
if __name__ == "__main__":
#bootstrap
from earthquake_detection import TwoStage_EarthquakeDetector
detector = TwoStage_EarthquakeDetector()
from snapshotfetcher import PeriodicREMonitorFetcher
watcher = PeriodicREMonitorFetcher()
animator = GifAnimationConstructor()
detectorlogger = DetectorLogger()
twitterbot = TwitterBot()
watcher.addObserver(detector)
watcher.addObserver(animator)
detector.addObserver(animator)
detector.addObserver(detectorlogger)
detector.addObserver(twitterbot)
watcher.startFetchingSnapshot()