Hat jemand ein besseres Code-Snippet für einen trivialen Python WebDAV Server? Der Code unten (der aus einigen Google-Suchergebnissen zusammengeschustert wird) scheint unter Python 2.6 zu funktionieren, aber ich frage mich, ob jemand etwas hat, das er vorher benutzt hat, ein wenig mehr getestet und abgeschlossen. Ich würde lieber ein Stdlib-Snippet über ein Drittanbieter-Paket bevorzugen. Es ist für einige Test-Code zu treffen, so muss nicht produktionswürdig sein.Gibt es ein besseres triviales Python WebDAV-Server-Code-Snippet als das?
import httplib
import BaseHTTPServer
class WebDAV(BaseHTTPServer.BaseHTTPRequestHandler):
"""
Ultra-simplistic WebDAV server.
"""
def do_PUT(self):
path = os.path.normpath(self.path)
if os.path.isabs(path):
path = path[1:] # safe assumption due to normpath above
directory = os.path.dirname(path)
if not os.path.isdir(directory):
os.makedirs(directory)
content_length = int(self.headers['Content-Length'])
with open(path, "w") as f:
f.write(self.rfile.read(content_length))
self.send_response(httplib.OK)
def server_main(server_class=BaseHTTPServer.HTTPServer,
handler_class=WebDAV):
server_class(('', 9231), handler_class).serve_forever()
Das ist ein HTTP-Handler, der PUT unterstützt, nicht WebDAV. –