#!/usr/bin/env ruby

require "json"


appUpdateTemplateFile = "updateAppFromDnsCache-template.rsc"

templateFile = File.open(appUpdateTemplateFile)

appUpdateTemplateString = templateFile.readlines

templateFile.close

appJsonFile = ARGV[0]

file = File.open(appJsonFile)
data = JSON.load(file)
file.close

#puts JSON.pretty_generate(data)
domainsString = "\"#{data["staticDomains"].join("\"; \"")}\""
domainsRegexString = "\"#{data["regexPatterns"].join("\"; \"")}\""
domainsRegexString = domainsRegexString.gsub("$",'\$').gsub("\.", "\\.")
#puts domainsRegexString

appUpdateTemplateString.each do |line|
case line
	when /##INSERT_LINES.*/
		if data["staticDomains"].nil? or data["staticDomains"].empty?
			puts("                :local staticDomains;")
		
		else
			puts("                :local staticDomains { \"#{data["staticDomains"].join("\"; \"")}\" };")
		end
		if data["regexPatterns"].nil? or data["regexPatterns"].empty?
                        puts("                :local regexString;")	
		else
			puts("                :local regexString { #{domainsRegexString} };")
		end
	when /:local addressList "###ADDRESS_LIST###"/
		puts("                :local addressList \"#{data["appName"]}\"")
	else
	puts(line)
end
end