Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1117)

Side by Side Diff: breakpad.py

Issue 460044: Add a check so non-google employee don't send crash dumps. (Closed)
Patch Set: Change test to be on process start instead of process shutdown Created 11 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Breakpad for Python. 5 """Breakpad for Python.
6 6
7 Sends a notification when a process stops on an exception.""" 7 Sends a notification when a process stops on an exception."""
8 8
9 import atexit 9 import atexit
10 import getpass 10 import getpass
11 import urllib 11 import urllib
12 import traceback 12 import traceback
13 import socket
13 import sys 14 import sys
14 15
15 16
16 def SendStack(stack, url='http://chromium-status.appspot.com/breakpad'): 17 def SendStack(stack, url='http://chromium-status.appspot.com/breakpad'):
17 print 'Do you want to send a crash report [y/N]? ', 18 print 'Do you want to send a crash report [y/N]? ',
18 if sys.stdin.read(1).lower() == 'y': 19 if sys.stdin.read(1).lower() != 'y':
19 try: 20 return
20 params = { 21 print 'Sending crash report ...'
21 'args': sys.argv, 22 try:
22 'stack': stack, 23 params = {
23 'user': getpass.getuser(), 24 'args': sys.argv,
24 } 25 'stack': stack,
25 request = urllib.urlopen(url, urllib.urlencode(params)) 26 'user': getpass.getuser(),
26 print request.read() 27 }
27 request.close() 28 request = urllib.urlopen(url, urllib.urlencode(params))
28 except IOError: 29 print request.read()
29 print('There was a failure while trying to send the stack trace. Too bad.' ) 30 request.close()
31 except IOError:
32 print('There was a failure while trying to send the stack trace. Too bad.')
30 33
31 34
32 #@atexit.register
33 def CheckForException(): 35 def CheckForException():
34 if 'test' in sys.modules['__main__'].__file__:
35 # Probably a unit test.
36 return
37 last_tb = getattr(sys, 'last_traceback', None) 36 last_tb = getattr(sys, 'last_traceback', None)
38 if last_tb: 37 if last_tb:
39 SendStack(''.join(traceback.format_tb(last_tb))) 38 SendStack(''.join(traceback.format_tb(last_tb)))
39
40
41 if (not 'test' in sys.modules['__main__'].__file__ and
42 socket.gethostname().endswith('.google.com')):
43 # Skip unit tests and we don't want anything from non-googler.
44 atexit.register(CheckForException)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698