comparison service/tomatoWifi/tomatoWifi.py @ 994:e7af84a10adc

switch to docopt Ignore-this: bcad0e2483d182424de9c61768e0e223 darcs-hash:20150712095607-312f9-3addcf6291a48896d4304b2967417ada846a9db7
author drewp <drewp@bigasterisk.com>
date Sun, 12 Jul 2015 02:56:07 -0700
parents 2f1cb8b5950a
children 57c9dbd2fdd0
comparison
equal deleted inserted replaced
993:10b344ca20d2 994:e7af84a10adc
17 from cyclone.httpclient import fetch 17 from cyclone.httpclient import fetch
18 sys.path.append("/home/drewp/projects/photo/lib/python2.7/site-packages") 18 sys.path.append("/home/drewp/projects/photo/lib/python2.7/site-packages")
19 from dateutil import tz 19 from dateutil import tz
20 from twisted.internet import reactor, task 20 from twisted.internet import reactor, task
21 from twisted.internet.defer import inlineCallbacks 21 from twisted.internet.defer import inlineCallbacks
22 import docopt
22 23
23 from pymongo import Connection, DESCENDING 24 from pymongo import Connection, DESCENDING
24 from rdflib import Namespace, Literal, URIRef 25 from rdflib import Namespace, Literal, URIRef
25 sys.path.append("/my/site/magma") 26 sys.path.append("/my/site/magma")
26 from stategraph import StateGraph 27 from stategraph import StateGraph
233 last = results[0]['created'].replace(tzinfo=tz.gettz('UTC')) 234 last = results[0]['created'].replace(tzinfo=tz.gettz('UTC'))
234 return now - last 235 return now - last
235 236
236 237
237 if __name__ == '__main__': 238 if __name__ == '__main__':
238 config = { 239 args = docopt.docopt('''
239 'servePort' : 9070, 240 Usage:
240 'pollFrequency' : 1/5, 241 tomatoWifi [options]
241 } 242
242 from twisted.python import log as twlog 243 Options:
243 #twlog.startLogging(sys.stdout) 244 -v, --verbose more logging
244 #log.setLevel(10) 245 --port=<n> serve on port [default: 9070]
245 #log.setLevel(logging.DEBUG) 246 --poll=<freq> poll frequency [default: .2]
247 ''')
248 if args['--verbose']:
249 from twisted.python import log as twlog
250 twlog.startLogging(sys.stdout)
251 log.setLevel(10)
252 log.setLevel(logging.DEBUG)
246 253
247 mongo = Connection('bang', 27017, tz_aware=True)['visitor']['visitor'] 254 mongo = Connection('bang', 27017, tz_aware=True)['visitor']['visitor']
248 255
249 wifi = Wifi() 256 wifi = Wifi()
250 poller = Poller(wifi, mongo) 257 poller = Poller(wifi, mongo)
251 task.LoopingCall(poller.poll).start(1/config['pollFrequency']) 258 task.LoopingCall(poller.poll).start(1/float(args['--poll']))
252 259
253 reactor.listenTCP(config['servePort'], 260 reactor.listenTCP(int(args['--port']),
254 cyclone.web.Application( 261 cyclone.web.Application(
255 [ 262 [
256 (r"/", Index), 263 (r"/", Index),
257 (r'/json', Json), 264 (r'/json', Json),
258 (r'/graph', GraphHandler), 265 (r'/graph', GraphHandler),