summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mailman/runcgi.py23
-rw-r--r--modules/runcgi.py23
2 files changed, 46 insertions, 0 deletions
diff --git a/Mailman/runcgi.py b/Mailman/runcgi.py
new file mode 100644
index 000000000..d35c70ae4
--- /dev/null
+++ b/Mailman/runcgi.py
@@ -0,0 +1,23 @@
+from Mailman.debug import *
+
+def wrap_func(func, debug=1, print_env=1):
+ if not debug:
+ try:
+ sys.stderr = mm_utils.StampedLogger("error", label = 'admin',
+ manual_reprime=1, nofail=0)
+ except:
+ # Error opening log, show thru anyway!
+ wrap_func(func, print_env=print_env, debug=1)
+ return
+ func()
+ return
+ else:
+ try:
+ func()
+ except SystemExit:
+ pass
+ except:
+ print_trace()
+ if print_env:
+ print_environ()
+
diff --git a/modules/runcgi.py b/modules/runcgi.py
new file mode 100644
index 000000000..d35c70ae4
--- /dev/null
+++ b/modules/runcgi.py
@@ -0,0 +1,23 @@
+from Mailman.debug import *
+
+def wrap_func(func, debug=1, print_env=1):
+ if not debug:
+ try:
+ sys.stderr = mm_utils.StampedLogger("error", label = 'admin',
+ manual_reprime=1, nofail=0)
+ except:
+ # Error opening log, show thru anyway!
+ wrap_func(func, print_env=print_env, debug=1)
+ return
+ func()
+ return
+ else:
+ try:
+ func()
+ except SystemExit:
+ pass
+ except:
+ print_trace()
+ if print_env:
+ print_environ()
+