|
import os |
|
from wsgidav.server.server_thread import WsgiDAVApp |
|
from wsgidav.dav_provider import DAVProvider |
|
from wsgidav.request import Request |
|
from wsgidav.response import Response |
|
|
|
|
|
directory = 'files' |
|
file_name = os.path.join(directory, 'sample.txt') |
|
|
|
|
|
if not os.path.exists(directory): |
|
os.makedirs(directory) |
|
|
|
if not os.path.exists(file_name): |
|
with open(file_name, 'w') as f: |
|
f.write("This is a sample text file.") |
|
|
|
|
|
class MyDAVProvider(DAVProvider): |
|
def __init__(self, base_path): |
|
super().__init__(base_path) |
|
|
|
|
|
def start_webdav_server(): |
|
|
|
base_path = os.path.abspath(directory) |
|
|
|
|
|
provider = MyDAVProvider(base_path) |
|
|
|
|
|
config = { |
|
"host": "0.0.0.0", |
|
"port": 7860, |
|
"provider": provider, |
|
"authenticator": None, |
|
} |
|
|
|
|
|
app = WsgiDAVApp(config) |
|
|
|
print(f"Starting WebDAV server on http://0.0.0.0:7860/") |
|
|
|
|
|
app.run() |
|
|
|
if __name__ == "__main__": |
|
start_webdav_server() |
|
|