From ce01c69f28bbdad158f430b7f8eced9a7c3778f1 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 3 Nov 2025 09:12:50 +0000 Subject: [PATCH] Complete removal of six compatibility library This completes the migration started in PR #47 by removing all remaining references to the six library and replacing them with native Python 3 standard library imports. Changes: - Replace six.moves.BaseHTTPServer with http.server - Replace six.moves.socketserver with socketserver - Remove six from setup.py install_requires Files modified: - pywebdav/lib/utils.py: Import BaseHTTPRequestHandler from http.server - pywebdav/server/server.py: Import HTTPServer and ThreadingMixIn from stdlib - pywebdav/lib/AuthServer.py: Replace all six.moves.BaseHTTPServer references - setup.py: Remove six dependency All imports verified to work correctly with Python 3. --- pywebdav/lib/AuthServer.py | 6 +++--- pywebdav/lib/utils.py | 2 +- pywebdav/server/server.py | 4 ++-- setup.py | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pywebdav/lib/AuthServer.py b/pywebdav/lib/AuthServer.py index 15ab3e8..560e453 100644 --- a/pywebdav/lib/AuthServer.py +++ b/pywebdav/lib/AuthServer.py @@ -6,7 +6,7 @@ import base64 import binascii -import six.moves.BaseHTTPServer +from http.server import BaseHTTPRequestHandler DEFAULT_AUTH_ERROR_MESSAGE = """ @@ -28,7 +28,7 @@ def _quote_html(html): return html.replace("&", "&").replace("<", "<").replace(">", ">") -class AuthRequestHandler(six.moves.BaseHTTPServer.BaseHTTPRequestHandler): +class AuthRequestHandler(BaseHTTPRequestHandler): """ Simple handler that can check for auth headers @@ -41,7 +41,7 @@ class AuthRequestHandler(six.moves.BaseHTTPServer.BaseHTTPRequestHandler): DO_AUTH = 1 def parse_request(self): - if not six.moves.BaseHTTPServer.BaseHTTPRequestHandler.parse_request(self): + if not BaseHTTPRequestHandler.parse_request(self): return False if self.DO_AUTH: diff --git a/pywebdav/lib/utils.py b/pywebdav/lib/utils.py index 4533f25..5af4ddc 100755 --- a/pywebdav/lib/utils.py +++ b/pywebdav/lib/utils.py @@ -6,7 +6,7 @@ import urllib.parse from .constants import RT_ALLPROP, RT_PROPNAME, RT_PROP -from six.moves.BaseHTTPServer import BaseHTTPRequestHandler +from http.server import BaseHTTPRequestHandler def gen_estring(ecode): """ generate an error string from the given code """ diff --git a/pywebdav/server/server.py b/pywebdav/server/server.py index 23246d0..8cba375 100755 --- a/pywebdav/server/server.py +++ b/pywebdav/server/server.py @@ -13,8 +13,8 @@ logging.basicConfig(level=logging.WARNING) log = logging.getLogger('pywebdav') -from six.moves.BaseHTTPServer import HTTPServer -from six.moves.socketserver import ThreadingMixIn +from http.server import HTTPServer +from socketserver import ThreadingMixIn try: import pywebdav.lib diff --git a/setup.py b/setup.py index d566803..c858040 100644 --- a/setup.py +++ b/setup.py @@ -46,6 +46,6 @@ entry_points={ 'console_scripts': ['davserver = pywebdav.server.server:run'] }, - install_requires = ['six'], + install_requires = [], setup_requires=['git-versioner'], )