Guest User

Untitled

a guest
Jan 4th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. #!/bin/env python
  2.  
  3. try:
  4.     main()
  5. finally:
  6.     input("Bye World")
  7.  
  8. def main():
  9.     try:
  10.         # Python 2.x
  11.         from SocketServer import ThreadingMixIn
  12.         from SimpleHTTPServer import SimpleHTTPRequestHandler
  13.         from BaseHTTPServer import HTTPServer
  14.     except ImportError:
  15.         # Python 3.x
  16.         from socketserver import ThreadingMixIn
  17.         from http.server import SimpleHTTPRequestHandler, HTTPServer
  18.  
  19.     class ThreadingSimpleServer(ThreadingMixIn, HTTPServer):
  20.         pass
  21.  
  22.     import sys
  23.     import os
  24.  
  25.     port = ''
  26.  
  27.     if sys.argv[1:]:
  28.         port = sys.argv[1]
  29.        
  30.     if not port.isdigit():
  31.         while True:
  32.             try:
  33.                 port = int(input("Enter port (default = 80): "))
  34.             except ValueError:
  35.                 print("INVALID PORT")
  36.                 continue
  37.             else:
  38.                 break
  39.  
  40.     port = int(port)
  41.     directory = ''
  42.     if sys.argv[2:]:
  43.         directory = sys.argv[2]
  44.        
  45.     if not os.path.isdir(directory):
  46.         directory = input("Enter directory to start server: ")
  47.  
  48.     while not os.path.isdir(directory):
  49.             print("INVALID DIRECTORY!")
  50.             directory = input("Enter directory to start server: ")
  51.  
  52.     os.chdir(directory)
  53.     directory = os.getcwd()
  54.  
  55.     print(ā€œ\033[H\033[Jā€)
  56.     print ('Server started on port %s at %s' % (port, directory))
  57.     print ('Close Command Window to end.')
  58.  
  59.     server = ThreadingSimpleServer(('', port), SimpleHTTPRequestHandler)
  60.     try:
  61.         while 1:
  62.             sys.stdout.flush()
  63.             server.handle_request()
  64.     except KeyboardInterrupt:
  65.         print("Finished")
  66.        
  67.     return
Advertisement
Add Comment
Please, Sign In to add comment