1
0
Fork 0
forked from github/pelican

Merge pull request #1200 from tomtung/patch-1

`ctrl+c` correctly terminates&reenables `fab serve`
This commit is contained in:
Justin Mayer 2014-02-05 08:11:20 -08:00
commit 89de903925

View file

@ -1,6 +1,9 @@
from fabric.api import *
import fabric.contrib.project as project
import os
import sys
import SimpleHTTPServer
import SocketServer
# Local path configuration (can be absolute or relative to fabfile)
env.deploy_path = 'output'
@ -32,7 +35,16 @@ def regenerate():
local('pelican -r -s pelicanconf.py')
def serve():
local('cd {deploy_path} && python -m SimpleHTTPServer'.format(**env))
os.chdir(env.deploy_path)
PORT = 8000
class AddressReuseTCPServer(SocketServer.TCPServer):
allow_reuse_address = True
server = AddressReuseTCPServer(('', PORT), SimpleHTTPServer.SimpleHTTPRequestHandler)
sys.stderr.write('Serving on port {0} ...\n'.format(PORT))
server.serve_forever()
def reserve():
build()