sbsv2/raptor/bin/sbs_check_exports.py
changeset 598 0a541d1f13c3
parent 37 d806416fc9bf
--- a/sbsv2/raptor/bin/sbs_check_exports.py	Thu Jun 24 14:16:43 2010 +0100
+++ b/sbsv2/raptor/bin/sbs_check_exports.py	Thu Jun 24 14:23:13 2010 +0100
@@ -1,101 +1,101 @@
-#!/usr/bin/python
-
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of the License "Symbian Foundation License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-import re
-import sys
-
-# there are no options, so print help if any are passed
-if len(sys.argv) > 1:
-	print "usage:", sys.argv[0], "(The log data is read from stdin)"
-	sys.exit(0)
-
-whatlogRE = re.compile("<whatlog.*bldinf='([^']*)'")
-exportRE = re.compile("<export destination='(.*)' source='(.*)'")
-
-bldinf = "unknown"
-sources = {}		# lookup from source to destination
-destinations = {}	# lookup from destination to source
-
-chains = 0
-repeats = 0
-conflicts = []
-
-# read stdin a line at a time and soak up all the exports
-line = " "
-while line:
-	line = sys.stdin.readline()
-
-	whatlogMatch = whatlogRE.search(line)
-	if whatlogMatch:
-		bldinf = whatlogMatch.group(1).lower()
-		continue
-
-	exportMatch = exportRE.search(line)
-	if exportMatch:
-		destination = exportMatch.group(1).lower()
-		source = exportMatch.group(2).lower()
-
-		if destination in destinations:
-			(otherSource, otherBldinf) = destinations[destination]
-			
-			# same source and destination but different bld.inf => repeat	
-			if source == otherSource and bldinf != otherBldinf:
-				# only interested in the number for now
-				repeats += 1
-				
-			# different source but same destination => conflict
-			if source != otherSource:
-				conflict = (source, destination, bldinf, otherSource, otherBldinf)
-				tcilfnoc = (otherSource, destination, otherBldinf, source, bldinf)
-				
-				if conflict in conflicts or tcilfnoc in conflicts:
-					# seen this conflict before
-					pass
-				else:
-					print "CONFLICT:", destination, \
-						"FROM", source, \
-						"IN", bldinf, \
-						"AND FROM", otherSource, \
-						"IN", otherBldinf
-					conflicts.append(conflict)
-		else:
-			sources[source] = [destination, bldinf]
-			destinations[destination] = [source, bldinf]
-
-# now check for destinations which were also sources => chains
-for destination in destinations:
-	if destination in sources:
-		(nextDestination, inf2) = sources[destination]
-		(source, inf1) = destinations[destination]
-		print "CHAIN:", source, \
-			"TO", destination, \
-			"IN", inf1, \
-			"THEN TO", nextDestination, \
-			"IN", inf2
-		chains += 1
-		
-# print a summary
-print "Total exports = ", len(destinations.keys())
-print "Chained exports = ", chains
-print "Repeated exports = ", repeats
-print "Conflicting exports = ", len(conflicts)
-
-# return the error code
-if conflicts:
-	sys.exit(1)
-sys.exit(0)
-
+#!/usr/bin/python
+
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+import re
+import sys
+
+# there are no options, so print help if any are passed
+if len(sys.argv) > 1:
+	print "usage:", sys.argv[0], "(The log data is read from stdin)"
+	sys.exit(0)
+
+whatlogRE = re.compile("<whatlog.*bldinf='([^']*)'")
+exportRE = re.compile("<export destination='(.*)' source='(.*)'")
+
+bldinf = "unknown"
+sources = {}		# lookup from source to destination
+destinations = {}	# lookup from destination to source
+
+chains = 0
+repeats = 0
+conflicts = []
+
+# read stdin a line at a time and soak up all the exports
+line = " "
+while line:
+	line = sys.stdin.readline()
+
+	whatlogMatch = whatlogRE.search(line)
+	if whatlogMatch:
+		bldinf = whatlogMatch.group(1).lower()
+		continue
+
+	exportMatch = exportRE.search(line)
+	if exportMatch:
+		destination = exportMatch.group(1).lower()
+		source = exportMatch.group(2).lower()
+
+		if destination in destinations:
+			(otherSource, otherBldinf) = destinations[destination]
+			
+			# same source and destination but different bld.inf => repeat	
+			if source == otherSource and bldinf != otherBldinf:
+				# only interested in the number for now
+				repeats += 1
+				
+			# different source but same destination => conflict
+			if source != otherSource:
+				conflict = (source, destination, bldinf, otherSource, otherBldinf)
+				tcilfnoc = (otherSource, destination, otherBldinf, source, bldinf)
+				
+				if conflict in conflicts or tcilfnoc in conflicts:
+					# seen this conflict before
+					pass
+				else:
+					print "CONFLICT:", destination, \
+						"FROM", source, \
+						"IN", bldinf, \
+						"AND FROM", otherSource, \
+						"IN", otherBldinf
+					conflicts.append(conflict)
+		else:
+			sources[source] = [destination, bldinf]
+			destinations[destination] = [source, bldinf]
+
+# now check for destinations which were also sources => chains
+for destination in destinations:
+	if destination in sources:
+		(nextDestination, inf2) = sources[destination]
+		(source, inf1) = destinations[destination]
+		print "CHAIN:", source, \
+			"TO", destination, \
+			"IN", inf1, \
+			"THEN TO", nextDestination, \
+			"IN", inf2
+		chains += 1
+		
+# print a summary
+print "Total exports = ", len(destinations.keys())
+print "Chained exports = ", chains
+print "Repeated exports = ", repeats
+print "Conflicting exports = ", len(conflicts)
+
+# return the error code
+if conflicts:
+	sys.exit(1)
+sys.exit(0)
+