--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/squashlog.py Mon May 10 19:54:49 2010 +0100
@@ -0,0 +1,62 @@
+#
+# Copyright (c) 2008-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:
+# squash a raptor log file by removing commands from successful recipes
+#
+
+import sys
+
+inRecipe = False
+
+for line in sys.stdin.readlines():
+ # escape % characters otherwise print will fail
+ line = line.replace("%", "%%")
+
+ # detect the start of a recipe
+ if line.startswith("<recipe "):
+ inRecipe = True
+ recipeLines = [line]
+ squashRecipe = True
+ continue
+
+ # detect the status report from a recipe
+ if line.startswith("<status "):
+ if not "exit='ok'" in line:
+ # only squash ok recipes
+ squashRecipe = False
+ recipeLines.append(line)
+ continue
+
+ # detect the end of a recipe
+ if line.startswith("</recipe>"):
+ # print the recipe
+ if squashRecipe:
+ for text in recipeLines:
+ if not text.startswith("+"):
+ print text,
+ else:
+ for text in recipeLines:
+ print text,
+ print line,
+ continue
+
+ # remember the lines during a recipe
+ if inRecipe:
+ recipeLines.append(line)
+ else:
+ # print all lines outside a recipe
+ print line,
+
+# end
+