#!/usr/bin/python #coding:utf-8 """ """ import sys,os from contextlib import nested profileList = {}; def PropValue(envfile): with open(envfile) as profile: new_profile = profile.readlines(); for line in new_profile: line_key = line.strip().split("=",1)[0]; profileList[line_key] = line.strip().split("=",1)[1]; def EnvReplaceYaml(yamlfile,newyamlfile): try: with nested(open(yamlfile), open(newyamlfile, 'w')) as (yml_file, yml_output) : yml_file_lines = yml_file.readlines(); for line in yml_file_lines: new_line = line; if (new_line.find('$$PLACEHOLDER$$') > 0) : env_list = new_line.split(':'); env_name = env_list[0].strip(); replacement = ""; if env_name in profileList.keys() : replacement = profileList[env_name]; new_line = new_line.replace('$$PLACEHOLDER$$', replacement); yml_output.write(new_line); except IOError, e: print ("Error: " + format(str(e))); raise; if __name__ == "__main__" : PropValue('env'); EnvReplaceYaml('temp.yaml','newtemap.yaml');
temp.yaml
--- applications: - name: $$NAME$$-$$DATETIME$$-$$VERSION$$ memory: 2048m instances: 1 disk_quota: 2048m ################## ================================================== env: APP_ID: "$$PLACEHOLDER$$" TABLE_KEY: "$$PLACEHOLDER$$" SECURITY: "$$PLACEHOLDER$$" KEY: "$$PLACEHOLDER$$"
env
APP_ID=11111111111 TABLE_KEY=22222222222 SECURITY=3333333333333 KEY=6777777777777