Skip to content

Commit f7be264

Browse files
committed
feat(CLI): support subfolder detection with pending ensure
1 parent 9dd25c5 commit f7be264

1 file changed

Lines changed: 39 additions & 1 deletion

File tree

ape_safe/_cli/pending.py

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ def ensure(cli_ctx, ecosystem, network, submitter, safe):
428428

429429
if scripts_to_ensure := list(
430430
cli_ctx.local_project.scripts_folder.glob(
431-
f"{ecosystem.name}_{network.name.rstrip('-fork')}_nonce*.py"
431+
f"{ecosystem.name}_{network.name.replace('-fork', '')}_nonce*.py"
432432
)
433433
):
434434
scripts_found_str = "\n".join(
@@ -442,6 +442,44 @@ def ensure(cli_ctx, ecosystem, network, submitter, safe):
442442
)
443443
cli_ctx.logger.debug(f"Scripts found:\n{scripts_found_str}")
444444

445+
elif (
446+
network_subfolder := cli_ctx.local_project.scripts_folder
447+
/ ecosystem.name
448+
/ network.name.replace("-fork", "")
449+
).exists() and (scripts_to_ensure := list(network_subfolder.glob("nonce*.py"))):
450+
scripts_found_str = "\n".join(
451+
str(fs.relative_to(cli_ctx.local_project.scripts_folder)) for fs in scripts_to_ensure
452+
)
453+
cli_ctx.logger.debug(f"Network-specific scripts found:\n{scripts_found_str}")
454+
455+
elif (alias_subfolder := cli_ctx.local_project.scripts_folder / safe.alias).exists() and (
456+
scripts_to_ensure := list(
457+
alias_subfolder.glob(f"{ecosystem.name}_{network.name.replace('-fork', '')}_nonce*.py")
458+
)
459+
):
460+
scripts_found_str = "\n".join(
461+
str(fs.relative_to(cli_ctx.local_project.scripts_folder)) for fs in scripts_to_ensure
462+
)
463+
cli_ctx.logger.debug(f"Network-specific scripts found:\n{scripts_found_str}")
464+
465+
elif alias_subfolder.exists() and (
466+
scripts_to_ensure := list(alias_subfolder.glob("nonce*.py"))
467+
):
468+
scripts_found_str = "\n".join(
469+
str(fs.relative_to(cli_ctx.local_project.scripts_folder)) for fs in scripts_to_ensure
470+
)
471+
cli_ctx.logger.debug(f"Scripts found:\n{scripts_found_str}")
472+
473+
elif (
474+
alias_network_subfolder := alias_subfolder
475+
/ ecosystem.name
476+
/ network.name.replace("-fork", "")
477+
).exists() and (scripts_to_ensure := list(alias_network_subfolder.glob("nonce*.py"))):
478+
scripts_found_str = "\n".join(
479+
str(fs.relative_to(cli_ctx.local_project.scripts_folder)) for fs in scripts_to_ensure
480+
)
481+
cli_ctx.logger.debug(f"Network-specific scripts found:\n{scripts_found_str}")
482+
445483
else:
446484
raise click.UsageError("No queue scripts detected under `scripts/`.")
447485

0 commit comments

Comments
 (0)