sbsv2/raptor/test/smoke_suite/test_resources/refilter/refilter.py
author lorewang
Wed, 01 Dec 2010 16:05:36 +0800
changeset 715 e0739b8406dd
parent 591 22486c9c7b15
permissions -rw-r--r--
Specify extenal tool with path
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
591
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     1
#
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     2
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     3
# All rights reserved.
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     4
# This component and the accompanying materials are made available
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     5
# under the terms of the License "Eclipse Public License v1.0"
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     6
# which accompanies this distribution, and is available
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     7
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     8
#
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
     9
# Initial Contributors:
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    10
# Nokia Corporation - initial contribution.
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    11
#
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    12
# Contributors:
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    13
#
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    14
# Description: 
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    15
#
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    16
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    17
class Refilter:
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    18
	"""
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    19
	Refilters an existing logfile with a specified filter
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    20
	
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    21
	Parameters:
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    22
			filtermodule: 	The name of the filter file to use for refiltering
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    23
			filtername:		The name of the filter class
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    24
			logfilename: 	The logfile to be parsed
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    25
	"""
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    26
	class Dummy_raptor:
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    27
		def __init__(self, logfile, targets):
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    28
			self.logFileName = logfile
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    29
			self.quiet = False
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    30
			self.dummy = False
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    31
			self.targets = targets
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    32
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    33
	def __init__(self, filtermodule, filtername, logfilename):
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    34
		dummy_raptor = Refilter.Dummy_raptor(logfilename, [])
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    35
		
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    36
		module=__import__(filtermodule)
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    37
		self.filter=eval("module."+filtername+"()")
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    38
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    39
		self.filter.open(dummy_raptor)
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    40
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    41
	def refilter(self, inputlog):
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    42
		file=open(inputlog)
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    43
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    44
		while True:
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    45
			line=file.readline()
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    46
			if not line:
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    47
				break
22486c9c7b15 raptor v2.14.0
jjkang
parents:
diff changeset
    48
			self.filter.write(line)