You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdepim/karm/test/__httpd.py

40 lines
988 B

'''Runs an HTTP server on port 8000 (or the first command line argument).'''
import BaseHTTPServer
import SimpleHTTPServer
import sys
import os.path
class MyHandler( SimpleHTTPServer.SimpleHTTPRequestHandler ):
def do_PUT( self ):
'''Just enough to work with karm.'''
path = self.translate_path(self.path)
rval = 200
if not os.path.exists( path ): rval = 201
f = file( path, "w" )
lines = []
while 1:
line = self.rfile.readline()
lines.append( line )
if line == '\r\n' or line == '\n' or line == '':
break
f.writelines( lines )
self.send_response( rval )
DEFAULT_PORT = 8000
if sys.argv[1:]: port = int(sys.argv[1])
else: port = DEFAULT_PORT
server_address = ('', port)
SimpleHTTPServer.SimpleHTTPRequestHandler.protocol_version = "HTTP/1.0"
httpd = BaseHTTPServer.HTTPServer(server_address, MyHandler )
sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()