Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
- from urlparse import parse_qs
- from datetime import datetime, timedelta
- import time
- import SocketServer
- import foscamcamera
- import pushover
- class S(BaseHTTPRequestHandler):
- def _set_headers(self):
- self.send_response(200)
- self.send_header('Content-type', 'text/html')
- self.end_headers()
- def do_GET(self):
- self._set_headers()
- def do_HEAD(self):
- self._set_headers()
- def do_POST(self):
- # Get Post Body/Vars
- length = int(self.headers['content-length'])
- postbody = self.rfile.read(length)
- postvars = parse_qs(postbody,keep_blank_values=1)
- #Extract Vars
- notTitle = postvars['Title'][0]
- notText = postvars['Text'][0]
- #Debug
- print
- print 'Headers:'
- print self.headers
- print
- print 'Body:'
- print postbody
- print
- print 'Vars:'
- print postvars
- print
- print 'Title: ' + notTitle
- print 'Text : ' + notText
- print
- if notTitle == 'HomeWizard' and notText == 'Deurbel pressed.':
- #Take snapshot from camera
- filename = datetime.now().strftime('%Y%m%d_%H%M%S%f') +'.jpg'
- fullpath = '/share/MD0_DATA/Qweb/homewizard/' + filename
- weburl = 'http://termors.com:84/' + filename
- print 'Filename: ' + filename
- print 'URL : ' + weburl
- foscam.snapshotToFile(fullpath)
- #PushOver Notify
- pushover.notify('Deurbel!',
- 'Time: ' + datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S'),
- 0,
- 'magic',
- weburl,
- 'Foto')
- # Set Response Headers
- self._set_headers()
- def run(port):
- try:
- server_address = ('', port)
- httpd = HTTPServer(server_address, S)
- print 'Starting httpd...'
- httpd.serve_forever()
- except KeyboardInterrupt:
- httpd.socket.close()
- if __name__ == "__main__":
- from sys import argv
- # Create Foscam Object
- foscam = foscamcamera.FoscamCamera()
- # Read Foscam Config
- foConfigRead = foscam.readconfig()
- # Read PushOver Config
- poConfigRead = pushover.readconfig()
- # Get port from argument
- if len(argv) == 2:
- run(port=int(argv[1]))
- else:
- run(85)
Advertisement
Add Comment
Please, Sign In to add comment