63 lines
2.5 KiB
Python
63 lines
2.5 KiB
Python
import os
|
|
import importlib.util
|
|
import re
|
|
|
|
def execute_functions_in_folder(folder_path, tenureKey):
|
|
# List all files in the folder
|
|
file_list = os.listdir(folder_path)
|
|
|
|
# Initialize an empty dictionary to store function names and return values
|
|
function_results = {}
|
|
|
|
# Iterate through each file
|
|
for file_name in file_list:
|
|
if file_name.endswith('.py'): # Consider only Python files
|
|
module_name = file_name[:-3] # Remove the '.py' extension
|
|
|
|
# Import the module dynamically
|
|
file_path = os.path.join(folder_path, file_name)
|
|
spec = importlib.util.spec_from_file_location(module_name, file_path)
|
|
module = importlib.util.module_from_spec(spec)
|
|
spec.loader.exec_module(module)
|
|
|
|
# Execute the function with the same name as the file
|
|
function_name = module_name
|
|
if hasattr(module, function_name) and callable(getattr(module, function_name)):
|
|
function = getattr(module, function_name)
|
|
return_value = function(tenureKey) # Execute the function and get the return value
|
|
function_results[function_name] = return_value # Add the function name and return value to the dictionary
|
|
else:
|
|
print(f"No function named '{function_name}' found in '{module_name}'")
|
|
|
|
return function_results
|
|
|
|
|
|
def open_markdown_file(file_path):
|
|
try:
|
|
with open(file_path, 'r') as file:
|
|
markdown_content = file.read()
|
|
return markdown_content
|
|
except FileNotFoundError:
|
|
print(f"Markdown file '{file_path}' not found.")
|
|
return None
|
|
except Exception as e:
|
|
print(f"An error occurred while opening the markdown file: {e}")
|
|
return None
|
|
|
|
|
|
def substitute_variables_in_markdown(markdown_content, variable_dict):
|
|
for variable, content in variable_dict.items():
|
|
# markdown_content = re.sub(r'\{\{' + variable + r'\}\}', str(content), markdown_content)
|
|
markdown_content.format(**variable_dict)
|
|
|
|
return markdown_content
|
|
|
|
|
|
if __name__ == '__main__':
|
|
variable_dict = execute_functions_in_folder('./modules', '1234')
|
|
print(variable_dict)
|
|
markdown_content = open_markdown_file('report.md')
|
|
if markdown_content:
|
|
# substituted_content = substitute_variables_in_markdown(markdown_content, variable_dict)
|
|
# print(substituted_content)
|
|
print(markdown_content.format(**variable_dict)) |