diff --git a/pelican/tools/templates/tasks.py.jinja2 b/pelican/tools/templates/tasks.py.jinja2 index f3049085..f022bfc0 100644 --- a/pelican/tools/templates/tasks.py.jinja2 +++ b/pelican/tools/templates/tasks.py.jinja2 @@ -4,14 +4,10 @@ import os import shutil import sys import datetime -try: - import socketserver -except ImportError: - import SocketServer as socketserver from invoke import task from invoke.util import cd -from pelican.server import ComplexHTTPRequestHandler +from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer CONFIG = { # Local path configuration (can be absolute or relative to tasks.py) @@ -61,12 +57,12 @@ def regenerate(c): @task def serve(c): """Serve site at http://localhost:8000/""" - os.chdir(CONFIG['deploy_path']) - class AddressReuseTCPServer(socketserver.TCPServer): + class AddressReuseTCPServer(RootedHTTPServer): allow_reuse_address = True server = AddressReuseTCPServer( + CONFIG['deploy_path'], ('', CONFIG['port']), ComplexHTTPRequestHandler)