123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #
- # 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
|