scripts/python/issuelister.py
author nithyar
Mon, 20 Sep 2010 13:47:38 +0100
changeset 61 3c5e0637d4d3
parent 14 6015c630283e
permissions -rwxr-xr-x
Integration plan updates, week37
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
     1
import xml.dom.minidom
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
     2
import sys
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
     3
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
     4
headers = []
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
     5
libraryissues = []
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
     6
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
     7
def loadfile(filename):
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
     8
	x = xml.dom.minidom.parse(filename)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
     9
	issuelists=x.getElementsByTagName('issuelist')
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    10
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    11
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    12
	for issuelist in issuelists:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    13
		for cn in issuelist.childNodes:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    14
			if isinstance(cn, xml.dom.minidom.Element):
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    15
				if cn.nodeName == 'library':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    16
					libraryissues.append(cn)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    17
				elif cn.nodeName == 'headerfile':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    18
					headers.append(cn)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    19
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    20
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    21
typeidmap=['removed', '','moved','deleted','inserted','modified','added','modified','modified','modified','modified','modified','removed','N/A','','']
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    22
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    23
noktypemaphdr={
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    24
			'NOK': 'This header contains changes that cause incompatibility. It must be fixed.', 
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    25
			'MOK': 'This header contains changes that cannot be verified automatically; they must be investigated manually.'}
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    26
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    27
ioktypehdr='This issue is known to be ok. But the header contains other unrelated changes.'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    28
oktypehdr='This header is known to be ok.'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    29
othertypehdr='This header contains changes that may cause incompatibility. It must be analysed by an expert.'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    30
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    31
oktype='This library is known to be ok'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    32
noktype='This library contains changes that cause incompatibility. It must be fixed.'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    33
othertype='This library contains changes that may cause incompatibility. It must be analysed by an expert.'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    34
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    35
#
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    36
#
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    37
#typeidmap=['removed', '','moved','deleted','inserted','modified','added','modified','modified','modified','modified','modified','removed','N/A','','']
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    38
#
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    39
#oktypemaphdr={'OK': 'This header is known to be ok.',
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    40
#			'NOK': 'This header contains changes that cause incompatibility. It must be fixed.', 
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    41
#			'IOK': 'This issue is known to be ok. But the header contains other unrelated changes.', 
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    42
#			'MOK': 'This header contains changes that cannot be verified automatically; they must be investigated manually.'}
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    43
#
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    44
#othertypemaphdr='This header contains changes that may cause incompatibility. It must be analysed by an expert.'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    45
#
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    46
#oktype='This library is known to be ok'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    47
#noktype='This library contains changes that cause incompatibility. It must be fixed.'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    48
#othertype='This library contains changes that may cause incompatibility. It must be analysed by an expert.'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    49
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    50
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    51
				
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    52
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    53
def print_errors(library, isok=False):
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    54
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    55
	if isok:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    56
		libstatus = oktype
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    57
		bug_severity='NORMAL'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    58
		bug_status='RESOLVED'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    59
		resolution='WONTFIX'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    60
	else:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    61
		libstatus = othertype
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    62
		bug_severity='MAJOR'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    63
		bug_status='NEW'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    64
		resolution=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    65
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    66
	for issue in library['issues']:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    67
		if issue['status'] == 'NOK':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    68
			libstatus = noktype
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    69
			bug_severity='CRITICAL'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    70
			bug_status='NEW'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    71
			resolution=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    72
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    73
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    74
	short_desc = 'Compatibility break in library %s' % library['shortname']
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    75
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    76
	library_info='Library details<br>name: %s<br>shortname: %s<br>comparefilename: %s<br>baseplatform: %s<br>currentplatform: %s' % (library['name'], library['shortname'], library['comparefilename'], library['baseplatform'], library['currentplatform'])
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    77
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    78
	long_desc = libstatus + '<br>'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    79
	for issue in library['issues']:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    80
		if issue['funcpos'] == '':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    81
			if issue['newfuncpos'] != '':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    82
				pos = issue['newfuncpos']
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    83
			else:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    84
				pos = '-'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    85
		elif issue['newfuncpos'] != '':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    86
			pos = '%s->%s' % (issue['funcpos'], issue['newfuncpos'])
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    87
		else:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    88
			pos = issue['funcpos']
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    89
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    90
		if issue['funcname'] != '':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    91
			if issue['newfuncname'] != '':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    92
				funcstring = 'was %s; now %s' % (issue['funcname'], issue['newfuncname'])
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    93
			else:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    94
				funcstring = issue['funcname']
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    95
		elif issue['newfuncname'] != '':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    96
			funcstring = issue['newfuncname']
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    97
		else:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    98
			funcstring = ''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
    99
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   100
		long_desc = long_desc + '[%s] (%s) %s %s (%s) [BC: %s, SC:%s]<br>%s' % (pos, typeidmap[issue['typeid']-1], issue['typeinfo'], funcstring, issue['comment'], issue['bc_severity'], issue['sc_severity'], library_info)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   101
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   102
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   103
	product=library['shortname']
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   104
	reporter='BC checker'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   105
	assigned_to=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   106
	backlog_url=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   107
	deadline=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   108
	assigned_to=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   109
	version='unspecified'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   110
	component=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   111
	rep_platform='N/A'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   112
	keywords='Symbian^2, Compatibility_Break'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   113
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   114
	print "%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s" % (product, reporter, assigned_to, bug_severity, backlog_url, short_desc, long_desc, deadline, bug_status, resolution, version, component, rep_platform, keywords)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   115
			
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   116
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   117
def list_libraryissues():
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   118
	libissues=[]
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   119
	for li in libraryissues:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   120
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   121
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   122
			name=li.getElementsByTagName('name')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   123
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   124
			name=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   125
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   126
			shortname=li.getElementsByTagName('shortname')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   127
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   128
			shortname=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   129
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   130
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   131
			comparefilename=li.getElementsByTagName('comparefilename')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   132
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   133
			comparefilename=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   134
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   135
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   136
			baseplatform=li.getElementsByTagName('baseplatform')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   137
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   138
			baseplatform=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   139
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   140
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   141
			currentplatform=li.getElementsByTagName('currentplatform')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   142
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   143
			currentplatform=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   144
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   145
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   146
			issues=li.getElementsByTagName('issue')
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   147
			issuelist = []
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   148
			for issue in issues:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   149
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   150
					typeid=int(issue.getElementsByTagName('typeid')[0].childNodes[0].wholeText)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   151
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   152
					typeid=-1
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   153
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   154
					funcname=issue.getElementsByTagName('funcname')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   155
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   156
					funcname=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   157
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   158
					newfuncname=issue.getElementsByTagName('newfuncname')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   159
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   160
					newfuncname=''	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   161
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   162
					funcpos=issue.getElementsByTagName('funcpos')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   163
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   164
					funcpos=''	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   165
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   166
					newfuncpos=issue.getElementsByTagName('newfuncpos')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   167
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   168
					newfuncpos=''	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   169
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   170
					bc_severity=issue.getElementsByTagName('bc_severity')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   171
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   172
					bc_severity=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   173
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   174
					sc_severity=issue.getElementsByTagName('sc_severity')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   175
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   176
					sc_severity=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   177
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   178
					status=issue.getElementsByTagName('status')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   179
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   180
					status=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   181
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   182
					typeinfo=issue.getElementsByTagName('typeinfo')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   183
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   184
					typeinfo=''	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   185
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   186
					comment=issue.getElementsByTagName('comment')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   187
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   188
					comment=''					
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   189
				anissue={'typeid': typeid, 'funcname':funcname, 'newfuncname':newfuncname, 'funcpos': funcpos, 'newfuncpos': newfuncpos, 'bc_severity': bc_severity, 'sc_severity': sc_severity, 'status': status, 'typeinfo': typeinfo, 'comment': comment}
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   190
				issuelist.append(anissue)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   191
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   192
			pass
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   193
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   194
		libissue = {'name': name, 'shortname': shortname, 'comparefilename': comparefilename, 'baseplatform': baseplatform, 'currentplatform': currentplatform, 'issues': issuelist}
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   195
		libissues.append(libissue)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   196
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   197
	summ = 0
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   198
	libsok = []
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   199
	libsnotok = []
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   200
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   201
	for libiss in libissues:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   202
		nokcount = 0
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   203
		mokcount = 0
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   204
		okcount = 0
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   205
		othercount = 0
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   206
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   207
		for iss in libiss['issues']:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   208
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   209
			if iss['status'] == 'NOK':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   210
				nokcount=nokcount+1
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   211
			elif iss['status'] == 'MOK':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   212
				mokcount=mokcount+1
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   213
			elif iss['status'] == 'OK':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   214
				okcount=okcount+1
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   215
			elif iss['status'] == '' and iss['typeid'] != 7 and iss['typeid'] != 2:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   216
				othercount = othercount+1
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   217
			
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   218
		if nokcount == 0 and mokcount == 0 and okcount > 0 and othercount == 0:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   219
			libsok.append(libiss)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   220
		elif nokcount > 0 or othercount > 0:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   221
			libsnotok.append(libiss)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   222
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   223
	for l in libsnotok:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   224
		print_errors(l)	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   225
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   226
	for l in libsok:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   227
		print_errors(l, True)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   228
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   229
def print_header_errors(header):
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   230
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   231
	if header['status']=='OK':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   232
		headerstatus = oktypehdr
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   233
		bug_severity='NORMAL'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   234
		bug_status='RESOLVED'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   235
		resolution='WONTFIX'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   236
	elif header['status']=='IOK':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   237
		headerstatus = ioktypehdr
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   238
		bug_severity='NORMAL'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   239
		bug_status='RESOLVED'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   240
		resolution='WONTFIX'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   241
	elif header['status'] != '':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   242
		headerstatus = noktypemaphdr[header['status']]
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   243
		bug_severity='CRITICAL'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   244
		bug_status='NEW'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   245
		resolution=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   246
	else:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   247
		headerstatus = othertypehdr
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   248
		bug_severity='MAJOR'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   249
		bug_status='NEW'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   250
		resolution=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   251
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   252
	short_desc = 'Compatibility break in header %s' % (header['shortname'])
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   253
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   254
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   255
	headerinfo='Header details<br>filename: %s<br>shortname: %s<br>comparefilename: %s' % (header['filename'], header['shortname'], header['comparefilename'])
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   256
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   257
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   258
	if header['status'] == 'OK':
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   259
		long_desc = headerstatus + ' Comment: ' + header['comment'] + '<br>'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   260
	else:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   261
		long_desc = headerstatus + ' '
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   262
			
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   263
	for issue in header['issues']:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   264
		long_desc = long_desc + '%s %s %s [BC: %s, SC:%s]<br>%s' % (issue['identitydescription'], issue['typestring'], issue['cause'], issue['bc_severity'], issue['sc_severity'], headerinfo)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   265
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   266
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   267
	product=header['shortname']
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   268
	reporter='BC checker'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   269
	assigned_to=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   270
	backlog_url=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   271
	deadline=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   272
	assigned_to=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   273
	version='unspecified'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   274
	component=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   275
	rep_platform='N/A'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   276
	keywords='Symbian^2, Compatibility_Break'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   277
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   278
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   279
	print "%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s" % (product, reporter, assigned_to, bug_severity, backlog_url, short_desc, long_desc, deadline, bug_status, resolution, version, component, rep_platform, keywords)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   280
			
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   281
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   282
def list_headerissues():
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   283
	headerissues=[]
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   284
	for hi in headers:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   285
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   286
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   287
			filename=hi.getElementsByTagName('filename')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   288
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   289
			filename=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   290
			
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   291
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   292
			shortname=hi.getElementsByTagName('shortname')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   293
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   294
			shortname=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   295
			
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   296
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   297
			comparefilename=hi.getElementsByTagName('comparefilename')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   298
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   299
			comparefilename=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   300
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   301
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   302
			status=hi.getElementsByTagName('status')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   303
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   304
			status=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   305
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   306
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   307
			comment=hi.getElementsByTagName('comment')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   308
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   309
			comment=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   310
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   311
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   312
			checksum=hi.getElementsByTagName('checksum')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   313
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   314
			checksum=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   315
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   316
		try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   317
			issues=hi.getElementsByTagName('issue')
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   318
			issuelist = []
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   319
			for issue in issues:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   320
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   321
					issueid=int(issue.getElementsByTagName('issueid')[0].childNodes[0].wholeText)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   322
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   323
					issueid=-1
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   324
					
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   325
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   326
					typeid=int(issue.getElementsByTagName('typeid')[0].childNodes[0].wholeText)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   327
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   328
					typeid=-1
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   329
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   330
					identityid=issue.getElementsByTagName('identityid')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   331
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   332
					identityid=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   333
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   334
					identitydescription=issue.getElementsByTagName('identitydescription')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   335
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   336
					identitydescription=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   337
						
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   338
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   339
					typestring=issue.getElementsByTagName('typestring')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   340
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   341
					typestring=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   342
						
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   343
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   344
					cause=issue.getElementsByTagName('cause')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   345
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   346
					cause=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   347
				
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   348
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   349
					ignoreinformation=issue.getElementsByTagName('ignoreinformation')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   350
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   351
					ignoreinformation=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   352
					
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   353
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   354
					documentation=issue.getElementsByTagName('documentation')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   355
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   356
					documentation=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   357
				
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   358
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   359
					linenumber=issue.getElementsByTagName('linenumber')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   360
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   361
					linenumber=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   362
					
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   363
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   364
					sc_severity=issue.getElementsByTagName('scseverity')[0]
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   365
			
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   366
					try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   367
						typeid=sc_severity.getElementsByTagName('typeid')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   368
					except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   369
						typeid=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   370
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   371
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   372
					try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   373
						sctypestring=sc_severity.getElementsByTagName('typestring')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   374
					except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   375
						sctypestring=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   376
					
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   377
					sc_severity=sctypestring				
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   378
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   379
					sc_severity=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   380
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   381
				try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   382
					bc_severity=issue.getElementsByTagName('severity')[0]
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   383
					
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   384
					try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   385
						typeid=bc_severity.getElementsByTagName('typeid')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   386
					except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   387
						typeid=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   388
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   389
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   390
					try:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   391
						bctypestring=bc_severity.getElementsByTagName('typestring')[0].childNodes[0].wholeText
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   392
					except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   393
						bctypestring=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   394
					
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   395
					bc_severity=bctypestring				
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   396
				except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   397
					bc_severity=''
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   398
																			
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   399
				anissue={'issueid': issueid, 'typeid': typeid, 'identityid': identityid, 'identitydescription': identitydescription, 'typestring': typestring, 'cause': cause, 'ignoreinformation': ignoreinformation, 'documentation': documentation, 'linenumber': linenumber, 'bc_severity': bc_severity, 'sc_severity': sc_severity}
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   400
				issuelist.append(anissue)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   401
		except:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   402
			print 'except!'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   403
		
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   404
		headerissue = {'filename': filename, 'shortname': shortname, 'comparefilename': comparefilename, 'status': status, 'comment': comment, 'checksum': checksum, 'issues': issuelist}
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   405
		headerissues.append(headerissue)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   406
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   407
	for l in headerissues:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   408
		print_header_errors(l)
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   409
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   410
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   411
if len(sys.argv) < 2:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   412
	print 'usage: python issuelist.py <reportfile1.xml> [reportfile2.xml]'
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   413
elif len(sys.argv) >= 2:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   414
	loadfile(sys.argv[1])
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   415
	if len(sys.argv) > 2:
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   416
			loadfile(sys.argv[2])
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   417
	
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   418
	print "%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s" % ('product', 'reporter', 'assigned_to', 'bug_severity', 'backlog_url', 'short_desc', 'long_desc', 'deadline', 'bug_status', 'resolution', 'version', 'component', 'rep_platform','keywords')
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   419
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   420
	list_headerissues()
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   421
	list_libraryissues()
6015c630283e Added issuelister.py
Sebastian Brannstrom <sebastianb@symbian.org>
parents:
diff changeset
   422