[py-svn] r35078 - py/dist/py/test/rsession

fijal at codespeak.net fijal at codespeak.net
Tue Nov 28 13:45:28 CET 2006


Author: fijal
Date: Tue Nov 28 13:45:25 2006
New Revision: 35078

Modified:
   py/dist/py/test/rsession/web.py
Log:
Updates for use outside.


Modified: py/dist/py/test/rsession/web.py
==============================================================================
--- py/dist/py/test/rsession/web.py	(original)
+++ py/dist/py/test/rsession/web.py	Tue Nov 28 13:45:25 2006
@@ -219,6 +219,8 @@
 exported_methods = ExportedMethods()
 
 class TestHandler(BaseHTTPRequestHandler):
+    exported_methods = exported_methods
+    
     def do_GET(self):
         path = self.path
         if path.endswith("/"):
@@ -231,9 +233,10 @@
             getargs = m.group(2)
         else:
             getargs = ""
-        method_to_call = getattr(self, "run_" + path, None)
+        name_path = path.replace(".", "_")
+        method_to_call = getattr(self, "run_" + name_path, None)
         if method_to_call is None:
-            exec_meth = getattr(exported_methods, path, None)
+            exec_meth = getattr(self.exported_methods, name_path, None)
             if exec_meth is None:
                 self.send_error(404, "File %s not found" % path)
             else:
@@ -288,10 +291,15 @@
         self.end_headers()
         self.wfile.write(data)
 
-def start_server(server_address = ('', 8000)):
-    httpd = HTTPServer(server_address, TestHandler)
-    thread.start_new_thread(httpd.serve_forever, ())
-    print "Server started, listening on %s" % (server_address,)
+def start_server(server_address = ('', 8000), handler=TestHandler, start_new=True):
+    httpd = HTTPServer(server_address, handler)
+
+    if start_new:
+        thread.start_new_thread(httpd.serve_forever, ())
+        print "Server started, listening on %s" % (server_address,)
+    else:
+        print "Server started, listening on %s" % (server_address,)
+        httpd.serve_forever()
 
 def kill_server():
     exported_methods.pending_events.put(None)


More information about the py-svn mailing list