~mdz/apport/ubuntu-bugpatterns-combined

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/python

import sys

import apport
from apport.crashdb import get_crashdb

if len(sys.argv) != 2:
    print >> sys.stderr, 'Usage: %s <.crash file or bug number>' % sys.argv[0]
    sys.exit(1)

if sys.argv[1].isdigit():
    db = get_crashdb(None)
    report = db.download(sys.argv[1])
    #report.write(open('/tmp/report.crash', 'w'))
else:
    report = apport.Report()
    try:
        f = open(sys.argv[1])
    except IOError, e:
        print >> sys.stderr, 'Cannot open report file: %s' % str(e)
    report.load(f)
    f.close()

match = report.search_bug_patterns('.')

if match:
    print 'LP: #%s: Matched bug pattern: %s' % ( sys.argv[1], match )
else:
    print 'LP: #%s: No match' % sys.argv[1]