# HG changeset patch # User MattD # Date 1250101732 -3600 # Node ID a4c764727769b4c6c8c86ded036e1323b4115590 # Parent 1e8f5474532390ed2c332153c327ddf1bcae3a2f sf-list-dir - added new tool 'listdir.py' which can exclude a directory and changed the behaviour of sf-list-dir to stop scanning epoc32/build to speed things up. diff -r 1e8f54745323 -r a4c764727769 common/build.xml --- a/common/build.xml Wed Aug 12 18:04:33 2009 +0100 +++ b/common/build.xml Wed Aug 12 19:28:52 2009 +0100 @@ -453,14 +453,16 @@ + - - - + + + + diff -r 1e8f54745323 -r a4c764727769 common/tools/listdir.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/listdir.py Wed Aug 12 19:28:52 2009 +0100 @@ -0,0 +1,43 @@ +# Copyright (c) 2009 Symbian Foundation Ltd +# 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: +# Symbian Foundation Ltd - initial contribution. +# +# Contributors: +# mattd +# +# Description: +# listdir.py - Lists a directory contents. +# listdir.py () + +import os +import re +import sys +import string +from os.path import join, isfile + +def main(): + directory = sys.argv[1] + exclude_dirs = [] + if(len(sys.argv)>2): + x_dirs = string.lower(sys.argv[2]) + exclude_dirs = re.split(',', x_dirs) + scandir(directory, exclude_dirs) + +def scandir(top, exclude_dirs): + fixpath = re.compile('\\\\') + fixroot = re.compile('^%s\\\\' % top) + for root, dirs, files in os.walk(top, topdown=True): + for dirname in dirs: + if(string.lower(fixpath.sub('/',os.path.join(root,dirname))) in exclude_dirs): + dirs.remove(dirname) + for name in files: + filename = os.path.join(root, name) + fn = string.lower(fixpath.sub('/',fixroot.sub('',filename))) + print fn + +main()