summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--patternutils/config.py24
1 files changed, 6 insertions, 18 deletions
diff --git a/patternutils/config.py b/patternutils/config.py
index a124644..5eb44b2 100644
--- a/patternutils/config.py
+++ b/patternutils/config.py
@@ -32,43 +32,31 @@ def load_template(template_name: str, command_name: Optional[str]) -> Tuple[str,
def find_templates(template_name: str, command_name: Optional[str] = None) -> List[str]:
- regex = os.path.join(
- CONFIG_PATH, "{path_sub_regex}", r"{template_name}\.{extension}"
- )
-
if command_name is None:
# CONFIG_PATH/*/TEMPLATE_NAME.*
path_sub_regex = ".*"
extension = ".*"
elif command_name in REGEX_PROGRAMS:
- path_sub_regex = "(globals|{command_name})"
+ path_sub_regex = f"(globals|{command_name})"
extension = "regex"
elif command_name in TEMPLATE_PROGRAMS:
# CONFIG_PATH/globals/TEMPLATE_NAME.jinja2
# CONFIG_PATH/globals/TEMPLATE_NAME.python
# CONFIG_PATH/COMMAND_NAME/TEMPLATE_NAME.jinja2
# CONFIG_PATH/COMMAND_NAME/TEMPLATE_NAME.python
- path_sub_regex = "(globals|{command_name})"
+ path_sub_regex = f"(globals|{command_name})"
extension = "(jinja2|python)"
else:
# Fail over if command name is not know
# This should normally not happen
# CONFIG_PATH/COMMAND_NAME/TEMPLATE_NAME.*
- path_sub_regex = "{command_name}"
+ path_sub_regex = f"{command_name}"
extension = ".*"
- # We need to format command_name twice, as it can be used in the
- # path_sub_regex
- regex = regex.format(
- path_sub_regex=path_sub_regex.format(command_name=command_name),
- command_name=command_name,
- template_name=template_name,
- extension=extension,
+ regex = re.compile(
+ os.path.join(CONFIG_PATH, f"{path_sub_regex}", f"{template_name}\.{extension}")
)
- compiled_regex = re.compile(regex)
- files = filter(
- compiled_regex.search, glob.iglob(os.path.join(CONFIG_PATH, "*", "*"))
- )
+ files = filter(regex.search, glob.iglob(os.path.join(CONFIG_PATH, "*", "*")))
return list(files)