Fix serving from alternate directory
1 files changed, 6 insertions(+), 9 deletions(-)

M dss.py
M dss.py +6 -9
@@ 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):