diff -r 7c4a911dc066 -r 541af5ee3ed9 sbsv2/raptor/bin/fixmeta.py --- a/sbsv2/raptor/bin/fixmeta.py Fri Aug 13 14:59:05 2010 +0300 +++ b/sbsv2/raptor/bin/fixmeta.py Wed Aug 18 17:23:33 2010 +0300 @@ -1,81 +1,81 @@ -# -# Copyright (c) 2007-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: -# fixmeta -# - -""" - Correct bld.infs, mmps etc to the point where it can be read by the build system - Currently it: - Corrects '\' in include statements to '/' - - Author: Tim Murphy, with a nod to Peter Harper's fixslashes.pl -""" - -import sys -import os -import re -from optparse import OptionParser - - -includeslash_re = re.compile('#include.*\\\\') -mmpfile_re = re.compile(".*\.mm[hp]$", re.I) -bldinf_re = re.compile(".*bld\.inf$", re.I) - -def fixincludeslash(m): - return m.group(0).replace('\\','/') - - -def checkconvert(dirname, filename): - tofilename=dirname + "/" + filename+".converted" - fromfilename = dirname + "/" + filename - fromfile = open(fromfilename,"r") - - conversions = False - fromtext = fromfile.read() - (totext, subcount) = re.subn(includeslash_re, fixincludeslash, fromtext) - - if subcount != 0: - print '"%s", %d backslash includes\n' % (fromfilename, subcount) - tofile = open( tofilename,"w") - tofile.write(totext) - tofile.close() - - fromfile.close() - if subcount != 0: - os.rename(fromfilename,fromfilename+".wrongslash") - os.rename(tofilename,fromfilename) - - - -def visit(arg, dirname, names): - #print "dir: %s\n" % (dirname) - for f in names: - m = mmpfile_re.match(f) - b = bldinf_re.match(f) - if m != None or b != None: - #print "\t"+f - checkconvert(dirname, f) - -parser = OptionParser(prog = "fixmeta", - usage = "%prog [-h | options] sourcepath containing files to be fixed.") - -(options, args) = parser.parse_args() - -if len(args) == 0: - print "Need at least one argument: a path to the source which is to be fixed." - sys.exit(-1) - -print "Walking\n" -os.path.walk(args[0],visit,None) +# +# Copyright (c) 2007-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: +# fixmeta +# + +""" + Correct bld.infs, mmps etc to the point where it can be read by the build system + Currently it: + Corrects '\' in include statements to '/' + + Author: Tim Murphy, with a nod to Peter Harper's fixslashes.pl +""" + +import sys +import os +import re +from optparse import OptionParser + + +includeslash_re = re.compile('#include.*\\\\') +mmpfile_re = re.compile(".*\.mm[hp]$", re.I) +bldinf_re = re.compile(".*bld\.inf$", re.I) + +def fixincludeslash(m): + return m.group(0).replace('\\','/') + + +def checkconvert(dirname, filename): + tofilename=dirname + "/" + filename+".converted" + fromfilename = dirname + "/" + filename + fromfile = open(fromfilename,"r") + + conversions = False + fromtext = fromfile.read() + (totext, subcount) = re.subn(includeslash_re, fixincludeslash, fromtext) + + if subcount != 0: + print '"%s", %d backslash includes\n' % (fromfilename, subcount) + tofile = open( tofilename,"w") + tofile.write(totext) + tofile.close() + + fromfile.close() + if subcount != 0: + os.rename(fromfilename,fromfilename+".wrongslash") + os.rename(tofilename,fromfilename) + + + +def visit(arg, dirname, names): + #print "dir: %s\n" % (dirname) + for f in names: + m = mmpfile_re.match(f) + b = bldinf_re.match(f) + if m != None or b != None: + #print "\t"+f + checkconvert(dirname, f) + +parser = OptionParser(prog = "fixmeta", + usage = "%prog [-h | options] sourcepath containing files to be fixed.") + +(options, args) = parser.parse_args() + +if len(args) == 0: + print "Need at least one argument: a path to the source which is to be fixed." + sys.exit(-1) + +print "Walking\n" +os.path.walk(args[0],visit,None)