build/buildutils/replacevalues.py
author hgs
Fri, 29 Oct 2010 11:49:32 +0300
changeset 87 1627c337e51e
parent 21 2a9601315dfc
permissions -rw-r--r--
v2.2.21_1

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

import socket, sys, os
import traceback

def main():
    try:
        # Assuming key-value pairs like key=value
        inputFile = sys.argv[1]
        outputFile = sys.argv[2]
        
        values = {}
        
        for pair in sys.argv[3:]:
            key, value = pair.split("=", 1)
            values[key] = value
         
        replaceInFile(inputFile, outputFile, values)
        
    except:
        print "Usage: %s inputFile outputFile <key=value> ..." % sys.argv[0]
        print "Replaces all occurrences of <key> with <value> <file>"
        traceback.print_exc()
        sys.exit(1)


def replaceInFile(srcFile, dstFile, values={}):
    # Binary mode => no line feed conversions
    f = open(srcFile, "rb")
    data = f.read()
    f.close()
    
    for key, value in values.items():
        data = data.replace("${%s}" % key, value)
    
    # Binary mode => no line feed conversions
    f = open(dstFile, "wb")
    f.write(data)
    f.close()


if __name__ == "__main__":
    main()