summaryrefslogtreecommitdiffstats
path: root/karm/test/__httpd.py
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch)
tree67208f7c145782a7e90b123b982ca78d88cc2c87 /karm/test/__httpd.py
downloadtdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz
tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'karm/test/__httpd.py')
-rw-r--r--karm/test/__httpd.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/karm/test/__httpd.py b/karm/test/__httpd.py
new file mode 100644
index 000000000..ba87113be
--- /dev/null
+++ b/karm/test/__httpd.py
@@ -0,0 +1,39 @@
+'''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()