| Index: breakpad.py
|
| diff --git a/breakpad.py b/breakpad.py
|
| index 7f2eab38791535a33014e77684677c38ba1bbe32..0a1fc083dcdd7f3104888f985dee8efd40a119c7 100644
|
| --- a/breakpad.py
|
| +++ b/breakpad.py
|
| @@ -4,10 +4,17 @@
|
|
|
| """Breakpad for Python.
|
|
|
| -Sends a notification when a process stops on an exception."""
|
| +Sends a notification when a process stops on an exception.
|
| +
|
| +It is only enabled when all these conditions are met:
|
| + 1. hostname finishes with '.google.com'
|
| + 2. main module name doesn't contain the word 'test'
|
| + 3. no NO_BREAKPAD environment variable is defined
|
| +"""
|
|
|
| import atexit
|
| import getpass
|
| +import os
|
| import urllib
|
| import traceback
|
| import socket
|
| @@ -33,6 +40,11 @@ def SendStack(last_tb, stack, url=None):
|
| 'exception': last_tb,
|
| 'host': socket.getfqdn(),
|
| }
|
| + try:
|
| + # That may not always work.
|
| + params['exception'] = str(last_tb)
|
| + except:
|
| + pass
|
| request = urllib.urlopen(url, urllib.urlencode(params))
|
| print request.read()
|
| request.close()
|
| @@ -60,7 +72,8 @@ def Register():
|
|
|
| # Skip unit tests and we don't want anything from non-googler.
|
| if (not 'test' in sys.modules['__main__'].__file__ and
|
| - socket.getfqdn().endswith('.google.com')):
|
| + socket.getfqdn().endswith('.google.com') and
|
| + not 'NO_BREAKPAD' in os.environ):
|
| Register()
|
|
|
| # Uncomment this line if you want to test it out.
|
|
|