diff options
author | Karel Klic <kklic@redhat.com> | 2010-10-14 15:38:12 +0200 |
---|---|---|
committer | Karel Klic <kklic@redhat.com> | 2010-10-14 15:38:12 +0200 |
commit | 23d5631ae8a82fc6c474fc27afac1c4c428f3d4f (patch) | |
tree | d9e1c005fbdf18300057399c7d9ae90023249475 /scripts/abrt-bz-downloader | |
parent | c0ce7860a4bdcefd8a43197d05dca9fd12bb52b1 (diff) | |
download | abrt-23d5631ae8a82fc6c474fc27afac1c4c428f3d4f.tar.gz abrt-23d5631ae8a82fc6c474fc27afac1c4c428f3d4f.tar.xz abrt-23d5631ae8a82fc6c474fc27afac1c4c428f3d4f.zip |
btparser initial integration
Diffstat (limited to 'scripts/abrt-bz-downloader')
-rwxr-xr-x | scripts/abrt-bz-downloader | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/scripts/abrt-bz-downloader b/scripts/abrt-bz-downloader deleted file mode 100755 index d7f5a719..00000000 --- a/scripts/abrt-bz-downloader +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/python -# -*- mode:python -*- -# ABRT Bugzilla Backtrace Downloader -# Downloads all backtraces reported by ABRT from Bugzilla. -# -# Please do not run this script unless it's neccessary to do so. -# It forces Bugzilla to send data related to thousands of bug reports. - -from bugzilla import RHBugzilla -from optparse import OptionParser -import sys -import os.path - -parser = OptionParser(version="%prog 1.0") -parser.add_option("-u", "--user", dest="user", - help="Bugzilla user name (REQUIRED)", metavar="USERNAME") -parser.add_option("-p", "--password", dest="password", - help="Bugzilla password (REQUIRED)", metavar="PASSWORD") -parser.add_option("-b", "--bugzilla", dest="bugzilla", - help="Bugzilla URL (defaults to Red Hat Bugzilla)", metavar="URL") -parser.add_option("-f", "--fields", - action="store_true", dest="fields", default=False, - help="Print possible bug fields and exit.") - -(options, args) = parser.parse_args() - -if not options.user or len(options.user) == 0: - parser.error("User name is required.\nTry {0} --help".format(sys.argv[0])) - -if not options.password or len(options.password) == 0: - parser.error("Password is required.\nTry {0} --help".format(sys.argv[0])) - -if not options.bugzilla or len(options.bugzilla) == 0: - options.bugzilla = "https://bugzilla.redhat.com/xmlrpc.cgi" - -bz = RHBugzilla() -bz.connect(options.bugzilla) -bz.login(options.user, options.password) - -if options.fields: - print bz.bugfields - exit(0) - -buginfos = bz.query({'status_whiteboard_type':'allwordssubstr','status_whiteboard':'abrt_hash'}) - -print "{0} bugs found.".format(len(buginfos)) - -for buginfo in buginfos: - # Skip bugs with already downloaded backtraces. - filename = "{0}.bt".format(buginfo.bug_id) - if os.path.isfile(filename): - print "Skipping {0} (already exists).".format(filename) - continue - - # Skip bugs with broken or Python backtraces - broken_backtrace_bugs = [ 517116, # binary file :) - 518516, # not a backtrace, GDB fail - 524259, # multiple backtraces in single file - 524427, # multiple backtraces in single file - 528529, # just [New Thread xx] lines - #528915, 10000 frames, out of memory, to be fixed - #529422, 10000 frames, out of memory, to be fixed - #530239, 10000 frames, out of memory, to be fixed - 532264, # no header - 533475, # no backtrace - #537819, 50000 frames, out of memory, to be fixed - #539699, to be fixed, parser bug - 539992] # completely broken backtrace - if buginfo.bug_id in broken_backtrace_bugs: - continue - - # Get backtrace from bug and store it as a file. - bug = bz.getbug(buginfo.bug_id) - for attachment in bug.attachments: - if attachment['filename'] == 'backtrace': - data = bz.openattachment(attachment['id']) - f = open(filename, 'w') - f.write(data.read()) - f.close() - print "Attachment {0} downloaded.".format(filename) - -bz.logout() |