|
import os |
|
from cheroot import wsgi |
|
from wsgidav.wsgidav_app import WsgiDAVApp |
|
from wsgidav.fs_dav_provider import FilesystemProvider |
|
|
|
|
|
files_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files") |
|
if not os.path.exists(files_dir): |
|
os.makedirs(files_dir) |
|
|
|
|
|
with open(os.path.join(files_dir, "sample.txt"), "w") as f: |
|
f.write("This is a sample file for the WebDAV server.") |
|
|
|
print(f"Created 'files' directory with sample.txt at {files_dir}") |
|
|
|
|
|
config = { |
|
"provider_mapping": { |
|
"/": FilesystemProvider(files_dir) |
|
}, |
|
"http_authenticator": { |
|
"domain_controller": None, |
|
}, |
|
"simple_dc": {"user_mapping": {"*": True}}, |
|
"verbose": 1, |
|
} |
|
|
|
|
|
app = WsgiDAVApp(config) |
|
|
|
|
|
server_addr = "0.0.0.0" |
|
server_port = 7860 |
|
server = wsgi.Server((server_addr, server_port), app) |
|
|
|
print(f"Starting WebDAV server at http://{server_addr}:{server_port}") |
|
try: |
|
server.start() |
|
except KeyboardInterrupt: |
|
print("Stopping server...") |
|
server.stop() |