apply-profile.py revision 2d7019e19039fd083850f76e54b6b26a7b06a8f2
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer# -*- coding: utf-8 -*-
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer Copyright © 2011 ForgeRock AS. All rights reserved.
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer The contents of this file are subject to the terms
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer of the Common Development and Distribution License
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer (the License). You may not use this file except in
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer compliance with the License.
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer You can obtain a copy of the License at
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer See the License for the specific language governing
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer permission and limitations under the License.
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer When distributing Covered Code, include this CDDL
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer Header Notice in each file and include the License file
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer If applicable, add the following below the CDDL Header,
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer with the fields enclosed by brackets [] replaced by
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer your own identifying information:
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer "Portions Copyrighted [year] [name of copyright owner]"
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer@author yaromin
4466604d78e5ffd017e69e6861f7d78242b351fbNoam MeltzerdefaultConfigFilePath = profileDirectory + "/profile-config.json"
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer fileContent = re.sub("\${openidm-dir}",openidmDirectory,fileContent)
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer fileContent = re.sub("\${profile-dir}",profileDirectory,fileContent)
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer fileContent = re.sub("\${home-dir}",homeDir,fileContent)
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer #print fileContent;
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzerdef performRegexReplacement(srcFileContent, replacementConfig):
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer srcFileContent = srcFileContent[0:replaceRegex.start(1)] + value + srcFileContent[replaceRegex.end(1):len(srcFileContent)]
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer print "matching string not found for regex:" + key
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzerdef performPropertiesReplacement(srcFileContent, replacementConfig):
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer print "properties replacement"
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer replaceRegex=re.search('\n[^#]*' + key + '=(.*)',srcFileContent);
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzer srcFileContent = srcFileContent[0:replaceRegex.start(1)] + value + srcFileContent[replaceRegex.end(1):len(srcFileContent)]
4466604d78e5ffd017e69e6861f7d78242b351fbNoam Meltzerdef performJsonReplacement(srcFileContent, replacementConfig):
for j in splittedPath:
except OSError: