Skip to content

Commit dec524f

Browse files
committed
Improve some command names
1 parent 1ce37a7 commit dec524f

File tree

7 files changed

+82
-82
lines changed

7 files changed

+82
-82
lines changed

.devcontainer/post-create.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
npm install
44
uv sync
5-
uv run activate-global-python-argcomplete
6-
uv run ./cli.py init_workspace
5+
uv run activate-global-python-argcomplete -y
6+
uv run ./cli.py init-workspace

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Install dependencies
2525
run: uv sync
2626
- name: Configure environment
27-
run: uv run ./cli.py init_workspace
27+
run: uv run ./cli.py init-workspace
2828
- name: Set up Docker Buildx
2929
uses: docker/setup-buildx-action@v3
3030
- name: Build and cache Docker images
@@ -37,7 +37,7 @@ jobs:
3737
cache-from: type=gha
3838
cache-to: type=gha,mode=max
3939
- name: Start Docker containers
40-
run: uv run ./cli.py compose_up --no-build
40+
run: uv run ./cli.py compose-up --no-build
4141
- name: Run linting
4242
# https://github.com/actions/runner/issues/241#issuecomment-745902718
4343
shell: 'script -q -e -c "bash {0}"'
@@ -47,4 +47,4 @@ jobs:
4747
run: uv run ./cli.py test --cov
4848
- name: Stop Docker containers
4949
if: ${{ always() }}
50-
run: uv run ./cli.py compose_down
50+
run: uv run ./cli.py compose-down

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ It also contains a Django example project to play around with the features.
2424
git clone https://github.com/openradx/adit-radis-shared.git
2525
cd adit-radis-shared
2626
uv sync
27-
uv run ./cli.py compose_up
27+
uv run ./cli.py compose-up
2828
```
2929

3030
The development server of the example project will be started on <http://localhost:8000>
3131

3232
If a library dependency is changed, the containers need to be rebuilt (e.g. by running
33-
`uv run ./cli.py compose_down && uv run ./cli.py compose_up`).
33+
`uv run ./cli.py compose-down && uv run ./cli.py compose-up`).

adit_radis_shared/cli/commands.py

Lines changed: 71 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -10,37 +10,6 @@
1010
from .helper import CommandHelper
1111

1212

13-
def register_backup_db(subparsers: argparse._SubParsersAction):
14-
def call(**kwargs):
15-
helper = CommandHelper()
16-
17-
settings = (
18-
f"{helper.project_id}.settings.production"
19-
if helper.is_production()
20-
else f"{helper.project_id}.settings.development"
21-
)
22-
23-
web_container_id = helper.find_running_container_id("web")
24-
if web_container_id is None:
25-
sys.exit("Web container is not running.")
26-
27-
helper.execute_cmd(
28-
(
29-
f"docker exec --env DJANGO_SETTINGS_MODULE={settings} "
30-
f"{web_container_id} ./manage.py dbbackup --clean -v 2"
31-
)
32-
)
33-
34-
info = "Backup database in running container stack"
35-
parser = subparsers.add_parser(
36-
"backup_db",
37-
help=info,
38-
description=info,
39-
epilog="For backup location see DBBACKUP_STORAGE_OPTIONS setting",
40-
)
41-
parser.set_defaults(func=call)
42-
43-
4413
def register_compose_up(subparsers: argparse._SubParsersAction):
4514
def call(build: bool, profile: list[str], extra_args: list[str], **kwargs):
4615
helper = CommandHelper()
@@ -64,7 +33,7 @@ def call(build: bool, profile: list[str], extra_args: list[str], **kwargs):
6433
helper.execute_cmd(cmd)
6534

6635
info = "Start stack with docker compose"
67-
parser = subparsers.add_parser("compose_up", help=info, description=info)
36+
parser = subparsers.add_parser("compose-up", help=info, description=info)
6837
parser.add_argument("--build", action="store_true", help="Build images before starting")
6938
parser.add_argument("--profile", action="append", help="Docker compose profile(s) to use")
7039
parser.set_defaults(func=call)
@@ -81,12 +50,68 @@ def call(cleanup: bool, profile: list[str], **kwargs):
8150
helper.execute_cmd(cmd)
8251

8352
info = "Stop stack with docker compose"
84-
parser = subparsers.add_parser("compose_down", help=info, description=info)
53+
parser = subparsers.add_parser("compose-down", help=info, description=info)
8554
parser.add_argument("--cleanup", action="store_true", help="Remove orphans and volumes")
8655
parser.add_argument("--profile", action="append", help="Docker compose profile(s) to use")
8756
parser.set_defaults(func=call)
8857

8958

59+
def register_db_backup(subparsers: argparse._SubParsersAction):
60+
def call(**kwargs):
61+
helper = CommandHelper()
62+
63+
settings = (
64+
f"{helper.project_id}.settings.production"
65+
if helper.is_production()
66+
else f"{helper.project_id}.settings.development"
67+
)
68+
69+
web_container_id = helper.find_running_container_id("web")
70+
if web_container_id is None:
71+
sys.exit("Web container is not running.")
72+
73+
helper.execute_cmd(
74+
(
75+
f"docker exec --env DJANGO_SETTINGS_MODULE={settings} "
76+
f"{web_container_id} ./manage.py dbbackup --clean -v 2"
77+
)
78+
)
79+
80+
info = "Backup database in running container stack"
81+
parser = subparsers.add_parser(
82+
"db-backup",
83+
help=info,
84+
description=info,
85+
epilog="For backup location see DBBACKUP_STORAGE_OPTIONS setting",
86+
)
87+
parser.set_defaults(func=call)
88+
89+
90+
def register_db_restore(subparsers: argparse._SubParsersAction):
91+
def call(**kwargs):
92+
helper = CommandHelper()
93+
94+
settings = (
95+
f"{helper.project_id}.settings.production"
96+
if helper.is_production()
97+
else f"{helper.project_id}.settings.development"
98+
)
99+
web_container_id = helper.find_running_container_id("web")
100+
if web_container_id is None:
101+
sys.exit("Web container is not running. Run 'uv run ./manage.py compose-up' first.")
102+
103+
helper.execute_cmd(
104+
(
105+
f"docker exec --env DJANGO_SETTINGS_MODULE={settings} "
106+
f"{web_container_id} ./manage.py dbrestore"
107+
)
108+
)
109+
110+
info = "Restore database in container from the last backup"
111+
parser = subparsers.add_parser("db-restore", help=info, description=info)
112+
parser.set_defaults(func=call)
113+
114+
90115
def register_format_code(subparsers: argparse._SubParsersAction):
91116
def call(**kwargs):
92117
helper = CommandHelper()
@@ -101,7 +126,7 @@ def call(**kwargs):
101126
helper.execute_cmd("uv run djlint . --reformat")
102127

103128
parser = subparsers.add_parser(
104-
"format_code",
129+
"format-code",
105130
help="Format the source code with ruff and djlint",
106131
)
107132
parser.set_defaults(func=call)
@@ -113,7 +138,7 @@ def call(length: int, **kwargs):
113138
print(helper.generate_auth_token(length))
114139

115140
info = "Generate an authentication token"
116-
parser = subparsers.add_parser("generate_auth_token", help=info, description=info)
141+
parser = subparsers.add_parser("generate-auth-token", help=info, description=info)
117142
parser.add_argument("--length", type=int, default=20, help="Length of the token (default: 20)")
118143
parser.set_defaults(func=call)
119144

@@ -174,7 +199,7 @@ def call(**kwargs):
174199
print(f"Generated chain file at {chain_path.absolute()}")
175200

176201
info = "Generate certificate chain file for a signed certificate"
177-
parser = subparsers.add_parser("generate_certificate_chain", help=info, description=info)
202+
parser = subparsers.add_parser("generate-certificate-chain", help=info, description=info)
178203
parser.set_defaults(func=call)
179204

180205

@@ -236,7 +261,7 @@ def call(**kwargs):
236261
print(f"Generated chain file at {chain_path.absolute()}")
237262

238263
info = "Generate self-signed certificate files for local development"
239-
parser = subparsers.add_parser("generate_certificate_files", help=info, description=info)
264+
parser = subparsers.add_parser("generate-certificate-files", help=info, description=info)
240265
parser.set_defaults(func=call)
241266

242267

@@ -246,7 +271,7 @@ def call(**kwargs):
246271
print(helper.generate_django_secret_key())
247272

248273
info = "Generate a Django secret key"
249-
parser = subparsers.add_parser("generate_django_secret_key", help=info, description=info)
274+
parser = subparsers.add_parser("generate-django-secret-key", help=info, description=info)
250275
parser.set_defaults(func=call)
251276

252277

@@ -256,7 +281,7 @@ def call(length: int, **kwargs):
256281
print(helper.generate_secure_password(length))
257282

258283
info = "Generate a secure password"
259-
parser = subparsers.add_parser("generate_secure_password", help=info, description=info)
284+
parser = subparsers.add_parser("generate-secure-password", help=info, description=info)
260285
parser.add_argument(
261286
"--length", type=int, default=12, help="Length of the password (default: 12)"
262287
)
@@ -308,7 +333,7 @@ def modify_env_file(domain: str | None = None, uses_https: bool = False):
308333
print("Successfully initialized .env file.")
309334

310335
info = "Initialize workspace for Github Codespaces or local development"
311-
parser = subparsers.add_parser("init_workspace", help=info, description=info)
336+
parser = subparsers.add_parser("init-workspace", help=info, description=info)
312337
parser.set_defaults(func=call)
313338

314339

@@ -344,32 +369,7 @@ def call(**kwags):
344369
set_key(env_file, "ADMIN_AUTH_TOKEN", helper.generate_auth_token())
345370

346371
info = "Randomize secrets in the .env file"
347-
parser = subparsers.add_parser("randomize_env_secrets", help=info, description=info)
348-
parser.set_defaults(func=call)
349-
350-
351-
def register_restore_db(subparsers: argparse._SubParsersAction):
352-
def call(**kwargs):
353-
helper = CommandHelper()
354-
355-
settings = (
356-
f"{helper.project_id}.settings.production"
357-
if helper.is_production()
358-
else f"{helper.project_id}.settings.development"
359-
)
360-
web_container_id = helper.find_running_container_id("web")
361-
if web_container_id is None:
362-
sys.exit("Web container is not running. Run 'uv run ./manage.py compose-up' first.")
363-
364-
helper.execute_cmd(
365-
(
366-
f"docker exec --env DJANGO_SETTINGS_MODULE={settings} "
367-
f"{web_container_id} ./manage.py dbrestore"
368-
)
369-
)
370-
371-
info = "Restore database in container from the last backup"
372-
parser = subparsers.add_parser("restore_db", help=info, description=info)
372+
parser = subparsers.add_parser("randomize-env-secrets", help=info, description=info)
373373
parser.set_defaults(func=call)
374374

375375

@@ -400,7 +400,7 @@ def call(**kwargs):
400400
helper.execute_cmd("npm outdated", hidden=True)
401401

402402
info = "Show outdated dependencies"
403-
parser = subparsers.add_parser("show_outdated", help=info, description=info)
403+
parser = subparsers.add_parser("show-outdated", help=info, description=info)
404404
parser.set_defaults(func=call)
405405

406406

@@ -431,7 +431,7 @@ def call(build: bool, **kwargs):
431431
helper.execute_cmd(cmd, env=env)
432432

433433
info = "Deploy stack with docker swarm"
434-
parser = subparsers.add_parser("stack_deploy", help=info, description=info)
434+
parser = subparsers.add_parser("stack-deploy", help=info, description=info)
435435
parser.add_argument("--build", action="store_true", help="Build images")
436436
parser.set_defaults(func=call)
437437

@@ -442,7 +442,7 @@ def call(**kwargs):
442442
helper.execute_cmd(f"docker stack rm {helper.get_stack_name()}")
443443

444444
info = "Remove stack from docker swarm"
445-
parser = subparsers.add_parser("stack_rm", help=info, description=info)
445+
parser = subparsers.add_parser("stack-rm", help=info, description=info)
446446
parser.set_defaults(func=call)
447447

448448

@@ -482,7 +482,7 @@ def call(**kwargs):
482482
helper.execute_cmd(f"{act_path} -P ubuntu-latest=catthehacker/ubuntu:act-latest")
483483

484484
info = "Try Github Actions locally using Act"
485-
parser = subparsers.add_parser("try_github_actions", help=info, description=info)
485+
parser = subparsers.add_parser("try-github-actions", help=info, description=info)
486486
parser.set_defaults(func=call)
487487

488488

@@ -504,7 +504,7 @@ def call(version: str, **kwargs):
504504
print("Cancelled")
505505

506506
info = "Upgrade PostgreSQL volume data"
507-
parser = subparsers.add_parser("upgrade_postgres_volume", help=info, description=info)
507+
parser = subparsers.add_parser("upgrade-postgres-volume", help=info, description=info)
508508
parser.add_argument(
509509
"--version",
510510
type=str,

cli.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,10 @@ def copy_file(file: str, filename: str | None = None):
5454
parser = argparse.ArgumentParser()
5555
subparsers = parser.add_subparsers(dest="command")
5656

57-
commands.register_backup_db(subparsers)
5857
commands.register_compose_up(subparsers)
5958
commands.register_compose_down(subparsers)
59+
commands.register_db_backup(subparsers)
60+
commands.register_db_restore(subparsers)
6061
commands.register_format_code(subparsers)
6162
commands.register_generate_auth_token(subparsers)
6263
commands.register_generate_certificate_chain(subparsers)
@@ -66,7 +67,6 @@ def copy_file(file: str, filename: str | None = None):
6667
commands.register_init_workspace(subparsers)
6768
commands.register_lint(subparsers)
6869
commands.register_randomize_env_secrets(subparsers)
69-
commands.register_restore_db(subparsers)
7070
commands.register_shell(subparsers)
7171
commands.register_show_outdated(subparsers)
7272
commands.register_stack_deploy(subparsers)

example.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ SITE_DOMAIN=localhost
6868
# These variables are used to create a certificate key, self-signed certificate,
6969
# and the corresponding certificate chain. If you have an existing certificate
7070
# key and signed certificate from your CA, you can generate the corresponding
71-
# certificate chain using 'uv run ./cli.py generate_certificate_chain'.
71+
# certificate chain using 'uv run ./cli.py generate-certificate-chain'.
7272
SSL_HOSTNAME=localhost
7373
SSL_IP_ADDRESSES=127.0.0.1
7474
SSL_SERVER_CERT_FILE="./cert.pem"

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"htmx.org": "^1.9.5"
1010
},
1111
"scripts": {
12-
"copy-statics": "uv run ./cli.py copy_statics"
12+
"copy-statics": "uv run ./cli.py copy-statics"
1313
}
1414
}

0 commit comments

Comments
 (0)