[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