[pypy-svn] r4901 - in pypy/branch/src-newobjectmodel/pypy/tool: . tb_server

mwh at codespeak.net mwh at codespeak.net
Fri Jun 4 14:27:48 CEST 2004


Author: mwh
Date: Fri Jun  4 14:27:47 2004
New Revision: 4901

Added:
   pypy/branch/src-newobjectmodel/pypy/tool/tb_server/
   pypy/branch/src-newobjectmodel/pypy/tool/tb_server/__init__.py   (contents, props changed)
      - copied, changed from r4898, pypy/branch/src-newobjectmodel/pypy/tool/__init__.py
   pypy/branch/src-newobjectmodel/pypy/tool/tb_server/server.py
      - copied unchanged from r4900, pypy/branch/src-newobjectmodel/pypy/tool/tb_server.py
Removed:
   pypy/branch/src-newobjectmodel/pypy/tool/tb_server.py
Log:
packagize tb_server


Deleted: /pypy/branch/src-newobjectmodel/pypy/tool/tb_server.py
==============================================================================
--- /pypy/branch/src-newobjectmodel/pypy/tool/tb_server.py	Fri Jun  4 14:27:47 2004
+++ (empty file)
@@ -1,78 +0,0 @@
-from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
-import threading
-import sys
-
-global content
-content = ''
-server_thread = None
-
-class TBRequestHandler(BaseHTTPRequestHandler):
-    def do_GET(self):
-        if self.path == '/quit':
-            global server_thread
-            server_thread = None
-            raise SystemExit
-        self.send_response(200)
-        self.send_header("Content-Type", "text/plain")
-        self.end_headers()
-        self.wfile.write(content)
-
-    def log_message(self, format, *args):
-        pass
-
-class TBServer(HTTPServer):
-    def handle_error(self, request, client_address):
-        exc = sys.exc_info()[1]
-        if isinstance(exc, (SystemExit, KeyboardInterrupt)):
-            raise
-        else:
-            HTTPServer.handle_error(self, request, client_address)
-
-def serve():
-    port = 8080
-    while 1:
-        try:
-            server = TBServer(('localhost', port), TBRequestHandler)
-        except socket.error:
-            port += 1
-            continue
-        else:
-            break
-    global server_port
-    server_port = port
-    print "serving on", port
-    server.serve_forever()
-
-def start():
-    global server_thread
-    server_thread = threading.Thread(target=serve)
-    server_thread.start()
-    return server_thread
-
-def stop():
-    if server_thread is None:
-        return
-    import urllib2
-    try:
-        urllib2.urlopen('http://localhost:%s/quit'%(server_port,))
-    except urllib2.HTTPError:
-        pass
-
-def wait_until_interrupt():
-    if server_thread is None:
-        return
-    import signal
-    try:
-        signal.pause()
-    except KeyboardInterrupt:
-        stop()
-
-def publish_tb(tb):
-    import traceback
-    s = traceback.format_tb(tb)
-    global content
-    content = ''.join(s)
-
-if __name__ == "__main__":
-    t = main()
-    wait_until_interrupt()

Copied: pypy/branch/src-newobjectmodel/pypy/tool/tb_server/__init__.py (from r4898, pypy/branch/src-newobjectmodel/pypy/tool/__init__.py)
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/tool/__init__.py	(original)
+++ pypy/branch/src-newobjectmodel/pypy/tool/tb_server/__init__.py	Fri Jun  4 14:27:47 2004
@@ -1 +1 @@
-#empty
+from server import start, stop, publish_tb, wait_until_interrupt



More information about the Pypy-commit mailing list