#!/usr/bin/env python3

# example :
#    ./replacer.py document.keys document.txt

import sys

separator = '='
comment = '#'
delimiter = '%%%'

if len(sys.argv) < 3:
    print("Usage : replacer keyvaluefile documentfile [rersultfile]")
    print("         example : ./replacer.py document.keys document.txt document.result")
    exit(0)

key_path = sys.argv[1]
txt_path = sys.argv[2]
result_path = ''

if len(sys.argv) > 3:
    result_path = sys.argv[3]

#key_path = 'document.keys'
key_file = open(key_path, 'r')
key_lines = key_file.readlines()

#txt_path = 'document.txt'
txt_file = open(txt_path, 'r')
document = txt_file.read()

key_value_map = {}

for key_line in key_lines:
    key_line = key_line.strip()
    if len(key_line) > 0 and not key_line.startswith(comment):
	
        index = key_line.index(separator)
        if index > 0 :
            key = key_line[:index].strip()
            value = key_line[index + len(separator):].strip()
        key_value_map[key] = value

result = document

for key, value in key_value_map.items():
    print(key + " = " + value)
    result = result.replace(delimiter + key + delimiter, value)

#print("result_path = " + result_path)

if len(result_path) > 0:
    result_file = open(result_path, 'w')
    result_file.write(result)
else :
    print(result)
