def file_replace()

in localize_terraform_modules.py [0:0]


def file_replace(fname, pat_replace, s_prefix):
    # first, see if the pattern is even in the file.
    for one_pat_replace in pat_replace:
        pat = one_pat_replace[0] 
        repl = one_pat_replace[1]
        with open(fname) as f:
            if not any(re.search(pat, line) for line in f):
                f.close()
                continue # pattern does not occur in file so we are done.
            f.close()    
        with open(fname) as f:
        # pattern is in the file, so perform replace operation.
            out_fname = fname + ".tmp"
            out = open(out_fname, "w")
            for line in f:
               if re.search(pat, line):
                  s_after = s_prefix + repl
                  out.write(re.sub(pat, s_after, line))
                  print("replacing:"+line+" with:\n"+re.sub(pat, s_after, line)+" in file:"+fname) 
               else:
                  out.write(line) 
            f.close()
            os.remove(fname)
            out.close()
            os.rename(out_fname, fname)