graphicstest/graphicstestharness/batch/cleanfolders.py
author Faisal Memon <faisal.memon@nokia.com>
Thu, 06 May 2010 15:31:43 +0100
branchNewGraphicsArchitecture
changeset 49 0ee978e37eb7
parent 0 5d03bc08d59c
permissions -rw-r--r--
Apply patch 3. Many of the fixes in patch 3 are obseleted by updates made to the FCL. So the FCL head is taken in preference. This leaves only the hack in the display channel implementation to do not do a screen rotation on syborg. That solution is a bit hacky, but actually revised in a later patch.

# 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 "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:
# Script to filter out components that are not contributed to the foundation for any reason.
#

import re
import glob
import sys
import os
import shutil
import stat

policyexpression = re.compile(r"^\s*3\s*$")

def cleanfolder(folder):
	os.chdir(folder)
	here = os.getcwd()
	if os.path.exists('distribution.policy.s60'):
		f = open('distribution.policy.s60', 'r')
		policy = f.read()
		f.close()
		if not policyexpression.match(policy):
			print 'Deleting ' + os.getcwd() + ' due to policy ' + policy
			for root, dirs, files in os.walk(os.getcwd()):
				for name in files:
					os.chmod(os.path.join(root,name), stat.S_IWRITE)
			os.chdir('\\')
			shutil.rmtree(here)
			return
	for file in glob.glob('*'):
		os.chdir(here)
		if os.path.isdir(file):
			cleanfolder(file)

print 'Removing subfolder trees from ' + sys.argv[1] + ' with a distribution.policy.s60 entry other than 3'

cleanfolder(sys.argv[1])