import os from string import Template class SQLProvider: def __init__(self, file_path): self.scripts = {} for file in os.listdir(file_path): _sql = open(f"{file_path}/{file}").read() self.scripts[file] = Template(_sql) def get(self, name, params) -> dict: if name not in self.scripts: raise ValueError(f"SQL template {name} not found") return self.scripts[name].substitute(**params)