@@ 153,21 153,18 @@ class DeadSimpleSite(object):
continue
shutil.copy2(source, target)
- def serve(self, port=8000):
+ def serve(site, port=8000):
# TODO: show fatal rst syntax errors, e.g. include file that doesn't exist
class LiveSiteHandler(SimpleHTTPRequestHandler):
- def do_GET(self):
+ def do_GET(request):
# TODO: expire immediately
- if self.path.startswith('/_site/'):
- # TODO: test for this
- self.send_error(403)
- else:
- DeadSimpleSite('.').compile()
- self.path = '/_site' + self.path
- SimpleHTTPRequestHandler.do_GET(self)
+ # TODO: tests for this
+ site.compile()
+ SimpleHTTPRequestHandler.do_GET(request)
server = SocketServer.TCPServer(('', port), LiveSiteHandler)
+ os.chdir(site.target)
server.serve_forever()
def publish(self, origin=None):