forked from github/pelican
Merge pull request #1200 from tomtung/patch-1
`ctrl+c` correctly terminates&reenables `fab serve`
This commit is contained in:
commit
89de903925
1 changed files with 13 additions and 1 deletions
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue