diff --git a/setup/publish.py b/setup/publish.py index d1edbf9d3e..07c589bf3b 100644 --- a/setup/publish.py +++ b/setup/publish.py @@ -241,9 +241,9 @@ class Manual(Command): def serve_manual(self, root): os.chdir(root) - from polyglot.http_server import BaseHTTPServer, SimpleHTTPRequestHandler + from polyglot.http_server import HTTPServer, SimpleHTTPRequestHandler HandlerClass = SimpleHTTPRequestHandler - ServerClass = BaseHTTPServer.HTTPServer + ServerClass = HTTPServer Protocol = "HTTP/1.0" server_address = ('127.0.0.1', 8000) diff --git a/src/calibre/ebooks/oeb/display/test-cfi/run_rapydscript.py b/src/calibre/ebooks/oeb/display/test-cfi/run_rapydscript.py index a31da7fbac..43ec62a2e9 100644 --- a/src/calibre/ebooks/oeb/display/test-cfi/run_rapydscript.py +++ b/src/calibre/ebooks/oeb/display/test-cfi/run_rapydscript.py @@ -8,8 +8,8 @@ __copyright__ = '2011, Kovid Goyal ' __docformat__ = 'restructuredtext en' import os, shutil, tempfile -import SocketServer +from polyglot import socketserver from polyglot.http_server import SimpleHTTPRequestHandler @@ -29,7 +29,7 @@ def run_devel_server(): js.write(compile_pyj(f.read()).encode('utf-8')) PORT = 8000 Handler = SimpleHTTPRequestHandler - httpd = SocketServer.TCPServer(("", PORT), Handler) + httpd = socketserver.TCPServer(("", PORT), Handler) print('Serving CFI test at http://localhost:%d' % PORT) try: httpd.serve_forever() diff --git a/src/calibre/utils/serve_coffee.py b/src/calibre/utils/serve_coffee.py index 887df3a323..c802e45fec 100644 --- a/src/calibre/utils/serve_coffee.py +++ b/src/calibre/utils/serve_coffee.py @@ -13,14 +13,11 @@ A coffeescript compiler and a simple web server that automatically serves coffeescript files as javascript. ''' import sys, traceback, io -if sys.version_info.major > 2: - print('This script is not Python 3 compatible. Run it with Python 2', - file=sys.stderr) - raise SystemExit(1) - -import time, os, sys, re, SocketServer +import time, os, sys, re from threading import Lock, local -from polyglot.http_server import BaseHTTPServer, SimpleHTTPRequestHandler + +from polyglot import socketserver +from polyglot.http_server import HTTPServer, SimpleHTTPRequestHandler # Compiler {{{ @@ -255,7 +252,7 @@ class Handler(HTTPRequestHandler): # {{{ # }}} -class Server(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer): # {{{ +class Server(socketserver.ThreadingMixIn, HTTPServer): # {{{ daemon_threads = True def handle_error(self, request, client_address): diff --git a/src/polyglot/http_server.py b/src/polyglot/http_server.py index e49d886569..319ec9a29c 100644 --- a/src/polyglot/http_server.py +++ b/src/polyglot/http_server.py @@ -7,7 +7,7 @@ from __future__ import absolute_import, division, print_function, unicode_litera from polyglot.builtins import is_py3 if is_py3: - from http.server import BaseHTTPServer, SimpleHTTPRequestHandler + from http.server import HTTPServer, SimpleHTTPRequestHandler else: - import BaseHTTPServer # noqa + from BaseHTTPServer import HTTPServer # noqa from SimpleHTTPServer import SimpleHTTPRequestHandler # noqa diff --git a/src/polyglot/socketserver.py b/src/polyglot/socketserver.py new file mode 100755 index 0000000000..243cbac5cd --- /dev/null +++ b/src/polyglot/socketserver.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python2 +# vim:fileencoding=utf-8 +# License: GPL v3 Copyright: 2019, Eli Schwartz + +from polyglot.builtins import is_py3 + +if is_py3: + from socketserver import TCPServer, ThreadingMixIn # noqa +else: + from SocketServer import TCPServer, ThreadingMixIn # noqa