diff roundup/scripts/roundup_server.py @ 1939:1303c208419d

some updates that were sitting on disk
author Richard Jones <richard@users.sourceforge.net>
date Thu, 04 Dec 2003 02:43:07 +0000
parents 3f2d1671ec03
children 800b226bba58
line wrap: on
line diff
--- a/roundup/scripts/roundup_server.py	Fri Nov 21 22:22:32 2003 +0000
+++ b/roundup/scripts/roundup_server.py	Thu Dec 04 02:43:07 2003 +0000
@@ -16,7 +16,7 @@
 # 
 """ HTTP Server that serves roundup.
 
-$Id: roundup_server.py,v 1.34 2003-11-12 23:29:17 richard Exp $
+$Id: roundup_server.py,v 1.35 2003-12-04 02:43:07 richard Exp $
 """
 
 # python version check
@@ -78,26 +78,28 @@
             self.send_error(404, self.path)
         except client.Unauthorised:
             self.send_error(403, self.path)
-        except socket.timeout:
-            s = StringIO.StringIO()
-            traceback.print_exc(None, s)
-            self.log_message('%s', s.getvalue())
         except:
-            # it'd be nice to be able to detect if these are going to have
-            # any effect...
-            self.send_response(400)
-            self.send_header('Content-Type', 'text/html')
-            self.end_headers()
-            try:
-                reload(cgitb)
-                self.wfile.write(cgitb.breaker())
-                self.wfile.write(cgitb.html())
-            except:
+            exc, val, tb = sys.exc_info()
+            if hasattr(socket, 'timeout') and exc == socket.timeout:
                 s = StringIO.StringIO()
                 traceback.print_exc(None, s)
-                self.wfile.write("<pre>")
-                self.wfile.write(cgi.escape(s.getvalue()))
-                self.wfile.write("</pre>\n")
+                self.log_message(str(s.getvalue()))
+            else:
+                # it'd be nice to be able to detect if these are going to have
+                # any effect...
+                self.send_response(400)
+                self.send_header('Content-Type', 'text/html')
+                self.end_headers()
+                try:
+                    reload(cgitb)
+                    self.wfile.write(cgitb.breaker())
+                    self.wfile.write(cgitb.html())
+                except:
+                    s = StringIO.StringIO()
+                    traceback.print_exc(None, s)
+                    self.wfile.write("<pre>")
+                    self.wfile.write(cgi.escape(s.getvalue()))
+                    self.wfile.write("</pre>\n")
         sys.stdin = save_stdin
 
     do_GET = do_POST = run_cgi

Roundup Issue Tracker: http://roundup-tracker.org/