Advertisement
Guest User

Untitled

a guest
Jul 14th, 2014
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.71 KB | None | 0 0
  1. #!/usr/bin/python3
  2.  
  3. import os
  4. import time
  5. import urllib.request
  6. import http.server
  7. import numpy
  8.  
  9. if not os.path.exists('jquery.min.js'):
  10.     response = urllib.request.urlopen("http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js")
  11.     open('jquery.min.js','wb').write(response.read())
  12.     print('need download')
  13.  
  14. if not os.path.exists('src1.jpg'):
  15.     response = urllib.request.urlopen("http://upload.wikimedia.org/wikipedia/ru/c/c5/JPEG_example_down.jpg")
  16.     open('src1.jpg','wb').write(response.read())
  17.     print('need download')
  18.  
  19. if not os.path.exists('src2.jpg'):
  20.     response = urllib.request.urlopen("http://upload.wikimedia.org/wikipedia/commons/b/b4/JPEG_example_JPG_RIP_100.jpg")
  21.     open('src2.jpg','wb').write(response.read())
  22.     print('need download')
  23.  
  24. class MyHandler(http.server.BaseHTTPRequestHandler):
  25.     def do_HEAD(s):
  26.         s.send_response(200)
  27.         s.send_header("Content-type", "text/html")
  28.         s.end_headers()
  29.  
  30.     def getIndex(s):
  31.         s.send_response(200)
  32.         s.send_header("Content-type", "text/html")
  33.         s.end_headers()
  34.         s.wfile.write(b'''<html><head><title>Title goes here.</title></head>
  35. <body style="margin:0; padding:0">
  36. <div id = "video" style = "width:100%; height:100%">
  37.   <img style = "width:100%; height:100%"/>
  38. </div>
  39. <script src="jquery.min.js"></script>
  40. <script type="text/javascript">
  41.   setInterval(function(){
  42.       $('#video > img').attr('src', 'jpg?random=' + Math.random())
  43.   }, 300);
  44. </script>
  45. </body></html>
  46. ''')
  47.     def getJQuery(s):
  48.         s.send_response(200)
  49.         s.send_header("Content-type", "application/x-javascript")
  50.         s.end_headers()
  51.         s.wfile.write(open('jquery.min.js','rb').read())
  52.  
  53.     def getJpg(s):
  54.         s.send_response(200)
  55.         s.end_headers()
  56.         if s.path[-1]>'5':
  57.             s.wfile.write(open('src1.jpg','rb').read())
  58.         else:
  59.             s.wfile.write(open('src2.jpg','rb').read())
  60.  
  61.     getDict = {
  62.         '/': getIndex,
  63.         '/jquery.min.js': getJQuery,
  64.     }
  65.  
  66.     def do_GET(s):
  67.         path = str(s.path)
  68.         if path in s.getDict:
  69.             s.getDict[path](s)
  70.         elif '/jpg?random=' in path:
  71.             s.getJpg()
  72.         else:
  73.             print('s.path: >>'+path+'<<')
  74.  
  75. HOST_NAME = '127.0.0.1'
  76. PORT_NUMBER = 8000
  77.  
  78. if __name__ == '__main__':
  79.     server_class = http.server.HTTPServer
  80.     httpd = server_class((HOST_NAME, PORT_NUMBER), MyHandler)
  81.     print(time.asctime(), "Server Starts - %s:%s" % (HOST_NAME, PORT_NUMBER))
  82.     try:
  83.         httpd.serve_forever()
  84.     except KeyboardInterrupt:
  85.         pass
  86.     httpd.server_close()
  87.     print(time.asctime(), "Server Stops - %s:%s" % (HOST_NAME, PORT_NUMBER))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement