-
Notifications
You must be signed in to change notification settings - Fork 0
/
CameraJPEGServer.py
executable file
·53 lines (45 loc) · 1.32 KB
/
CameraJPEGServer.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
#!/usr/bin/env python
import sys
import subprocess
import string,cgi,time
from os import curdir, sep
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
from SocketServer import ThreadingMixIn
import re
from Observable import Observable
from Globals import Globals
from Camera import Camera
class CameraJPEGServerHandler(ThreadingMixIn, BaseHTTPRequestHandler):
def do_GET(self):
try:
img = self.server.camera.getImage()
self.send_response(200)
self.send_header("Content-Type","image/jpeg")
self.end_headers()
self.wfile.write(img)
except IOError:
self.send_error(404,'File Not Found: %s' % self.path)
class CameraJPEGServer(HTTPServer):
cameraStore = None
camera = None
def __init__(self, *args, **kw):
HTTPServer.__init__(self, *args, **kw)
self.camera = Camera()
self.camera.start()
def main():
try:
server = CameraJPEGServer(('', 8080), CameraJPEGServerHandler)
print 'started CameraJPEGServer...'
server.serve_forever()
except KeyboardInterrupt:
print '^C received, shutting down server'
server.socket.close()
def testmain():
xxx = Camera()
xxx.start()
while True:
i = yyy.getImage()
print "YYY got image"
if __name__ == '__main__':
main()
#testmain()