in solutions_builder/cli/vars.py [0:0]
def apply_var_to_folder(solution_path, var_name, var_value):
file_set = set()
# Adding includes.
for pattern in INCLUDE_PATTERNS:
file_list = pathlib.Path(solution_path).rglob(f"{pattern}")
file_set.update(set([str(x) for x in file_list]))
# Removing excludes.
for pattern in EXCLUDE_PATTERNS:
file_list = pathlib.Path(solution_path).rglob(f"{pattern}")
file_set = file_set - set([str(x) for x in file_list])
modified_files_list = []
for filename in list(file_set):
if DEBUG:
print(filename)
with open(filename, "r") as file:
# Replace variable
filedata = file.read()
filedata, count = replace_var_to_value(var_name, var_value, filedata)
filedata = filedata + "\n"
if count > 0:
modified_files_list.append(filename)
# If there's any changes, write back to the original file.
if count > 0:
with open(filename, "w") as file:
file.write(filedata)
return modified_files_list