vortex-cli 8.1.0__tar.gz → 8.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/PKG-INFO +12 -9
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/README.md +11 -8
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/pyproject.toml +1 -1
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/cli.py +4 -1
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/app.py +6 -4
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/execute.py +27 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/main.py +15 -1
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/registry.py +1 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex_cli.egg-info/PKG-INFO +12 -9
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/LICENSE +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/setup.cfg +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/__init__.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/__main__.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/colour.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/__init__.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/clean.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/clone.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/code.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/compile.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/db.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/diff.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/docs.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/fetch.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/info.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/keyword.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/libs.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/log.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/object_.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/pull.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/search.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/servers.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/use.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/commands/watch.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/constants.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/docs/Blackbook v2.md +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/docs/Blackbook.pdf +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/docs/index.html +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/docs/marked.min.js +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/git.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/lib/puakma-6.0.40.jar +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/libs.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/logging.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/models.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/output.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/schedule.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/server_options.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/soap.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/spinner.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/sync.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/util.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/webdesign.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex/workspace.py +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex_cli.egg-info/SOURCES.txt +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex_cli.egg-info/dependency_links.txt +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex_cli.egg-info/entry_points.txt +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex_cli.egg-info/requires.txt +0 -0
- {vortex_cli-8.1.0 → vortex_cli-8.1.1}/vortex_cli.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vortex_cli
|
|
3
|
-
Version: 8.1.
|
|
3
|
+
Version: 8.1.1
|
|
4
4
|
Summary: Vortex CLI
|
|
5
5
|
Author-email: Jordan Amos <jordan.amos@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -127,7 +127,7 @@ errors (exit 2).
|
|
|
127
127
|
| `config --set-password` | `keyring set vortex-cli:<server> <username>` |
|
|
128
128
|
| `config --sample` | `server get` (every option it reads) |
|
|
129
129
|
| `execute --show-schedule` / `--refresh-agenda` / `--flush-cache` | `execute schedule` / `refresh-agenda` / `flush-cache` |
|
|
130
|
-
| `execute --refresh-design N` | `
|
|
130
|
+
| `execute --refresh-design N` | `execute refresh-design N` or `app refresh N` |
|
|
131
131
|
| `execute --run PATH` | `object run ID --app-id N` |
|
|
132
132
|
| `status [--show-permissions] [--json]` | `vortex [-s NAME] [--show-permissions] [--json]` (no command) - plus the CLI version and the workspace |
|
|
133
133
|
| `vortex` with no command (the workspace path) | the live status of the default server: `vortex-cli` and `workspace` first, then the server (`vortex --path` prints just the path) |
|
|
@@ -271,7 +271,7 @@ vortex app update APP_ID [--name --group --description --inherit-from --templa
|
|
|
271
271
|
[--param NAME=VALUE ...] [--remove-param NAME ...]
|
|
272
272
|
vortex app export APP_ID... [--out-dir --exclude-source --timeout]
|
|
273
273
|
vortex app import FILE.pmx --name N --group G
|
|
274
|
-
vortex app refresh-design
|
|
274
|
+
vortex app refresh APP_ID (alias: refresh-design)
|
|
275
275
|
|
|
276
276
|
── object ───────────────────────────────────────────────────────────────────
|
|
277
277
|
vortex object get ID --app-id ID [--show-source --show-data] [--json]
|
|
@@ -329,7 +329,8 @@ vortex code [--refresh [--reset]] [-s]
|
|
|
329
329
|
vortex [-s NAME] [--show-permissions] [--json] (the server's live status)
|
|
330
330
|
vortex --path (the workspace path)
|
|
331
331
|
vortex log [-n --source -m --errors-only|--debug-only|--info-only -k -d] [--json]
|
|
332
|
-
vortex execute CMD... | flush-cache | refresh-agenda |
|
|
332
|
+
vortex execute CMD... | flush-cache | refresh-agenda | refresh-design APP_ID | schedule
|
|
333
|
+
[--json] (alias: ex)
|
|
333
334
|
vortex server list [--json]
|
|
334
335
|
vortex server get [NAME] [--json]
|
|
335
336
|
vortex server use NAME (or: vortex use NAME)
|
|
@@ -406,27 +407,29 @@ and application write, so a manual cache flush is never required after one.
|
|
|
406
407
|
|
|
407
408
|
`vortex execute CMD...` (or `ex`) sends any console command - the gateway's `POST console`,
|
|
408
409
|
which needs `GatewaySystem`, or the SOAP console without the gateway. The words are joined,
|
|
409
|
-
so no quoting is needed.
|
|
410
|
+
so no quoting is needed. These names are shortcuts that send the exact strings the server's
|
|
410
411
|
addins match:
|
|
411
412
|
|
|
412
413
|
| Shortcut | Sends | Effect |
|
|
413
414
|
|---|---|---|
|
|
414
415
|
| `schedule` | `tell agenda schedule` | lists every scheduled action and its next run |
|
|
415
416
|
| `refresh-agenda` | `tell agenda refresh` | AGENDA rereads every schedule now |
|
|
417
|
+
| `refresh-design APP_ID` | `tell agenda run /<webdesign_path>/RefreshDesign?&AppID=N` | rebuilds the application's design from its template, as `app refresh` does (a clone is then out of date) |
|
|
416
418
|
| `flush-cache` | `tell http cache flush` | clears the design cache and all action class loaders |
|
|
417
419
|
|
|
418
420
|
`tell http flush cache` is **not** a valid command: the HTTP addin only matches
|
|
419
421
|
`cache flush`, and anything else does nothing, silently. Use `flush-cache`.
|
|
420
422
|
|
|
421
|
-
Two console operations act on one application or object, so they live with those nouns:
|
|
423
|
+
Two console operations act on one application or object, so they also live with those nouns:
|
|
422
424
|
|
|
423
425
|
| Command | Sends |
|
|
424
426
|
|---|---|
|
|
425
|
-
| `vortex app refresh
|
|
427
|
+
| `vortex app refresh APP_ID` | `tell agenda run /<webdesign_path>/RefreshDesign?&AppID=N` - rebuilds the design from its template (a clone is then out of date) |
|
|
426
428
|
| `vortex object run ID --app-id N` | `tell agenda run /group/app.pma/name` - runs an ACTION or SCHEDULED_ACTION now |
|
|
427
429
|
|
|
428
430
|
The 8.0 flags (`--show-schedule`, `--refresh-agenda`, `--flush-cache`, `--refresh-design`,
|
|
429
|
-
`--run`) were removed in 8.1.
|
|
431
|
+
`--run`) were removed in 8.1. `app refresh` was `app refresh-design` in 8.1.0; the old
|
|
432
|
+
name still works.
|
|
430
433
|
|
|
431
434
|
### Local clones stay in sync
|
|
432
435
|
|
|
@@ -449,7 +452,7 @@ prints the command to re-sync (`vortex clone APP_ID -s SERVER`).
|
|
|
449
452
|
| `object copy` | the target application's clone |
|
|
450
453
|
| `keyword set` / `delete` | the clone's stored keywords |
|
|
451
454
|
| `compile` | writes `zbin/`; `--upload` stores the uploaded blobs |
|
|
452
|
-
| `execute
|
|
455
|
+
| `app refresh` / `execute refresh-design` | none - prints that the clone is out of date |
|
|
453
456
|
| `app create` / `import` / `export`, all `db` commands | none |
|
|
454
457
|
|
|
455
458
|
A clone stores the design objects, the application's details (with its description), its
|
|
@@ -83,7 +83,7 @@ errors (exit 2).
|
|
|
83
83
|
| `config --set-password` | `keyring set vortex-cli:<server> <username>` |
|
|
84
84
|
| `config --sample` | `server get` (every option it reads) |
|
|
85
85
|
| `execute --show-schedule` / `--refresh-agenda` / `--flush-cache` | `execute schedule` / `refresh-agenda` / `flush-cache` |
|
|
86
|
-
| `execute --refresh-design N` | `
|
|
86
|
+
| `execute --refresh-design N` | `execute refresh-design N` or `app refresh N` |
|
|
87
87
|
| `execute --run PATH` | `object run ID --app-id N` |
|
|
88
88
|
| `status [--show-permissions] [--json]` | `vortex [-s NAME] [--show-permissions] [--json]` (no command) - plus the CLI version and the workspace |
|
|
89
89
|
| `vortex` with no command (the workspace path) | the live status of the default server: `vortex-cli` and `workspace` first, then the server (`vortex --path` prints just the path) |
|
|
@@ -227,7 +227,7 @@ vortex app update APP_ID [--name --group --description --inherit-from --templa
|
|
|
227
227
|
[--param NAME=VALUE ...] [--remove-param NAME ...]
|
|
228
228
|
vortex app export APP_ID... [--out-dir --exclude-source --timeout]
|
|
229
229
|
vortex app import FILE.pmx --name N --group G
|
|
230
|
-
vortex app refresh-design
|
|
230
|
+
vortex app refresh APP_ID (alias: refresh-design)
|
|
231
231
|
|
|
232
232
|
── object ───────────────────────────────────────────────────────────────────
|
|
233
233
|
vortex object get ID --app-id ID [--show-source --show-data] [--json]
|
|
@@ -285,7 +285,8 @@ vortex code [--refresh [--reset]] [-s]
|
|
|
285
285
|
vortex [-s NAME] [--show-permissions] [--json] (the server's live status)
|
|
286
286
|
vortex --path (the workspace path)
|
|
287
287
|
vortex log [-n --source -m --errors-only|--debug-only|--info-only -k -d] [--json]
|
|
288
|
-
vortex execute CMD... | flush-cache | refresh-agenda |
|
|
288
|
+
vortex execute CMD... | flush-cache | refresh-agenda | refresh-design APP_ID | schedule
|
|
289
|
+
[--json] (alias: ex)
|
|
289
290
|
vortex server list [--json]
|
|
290
291
|
vortex server get [NAME] [--json]
|
|
291
292
|
vortex server use NAME (or: vortex use NAME)
|
|
@@ -362,27 +363,29 @@ and application write, so a manual cache flush is never required after one.
|
|
|
362
363
|
|
|
363
364
|
`vortex execute CMD...` (or `ex`) sends any console command - the gateway's `POST console`,
|
|
364
365
|
which needs `GatewaySystem`, or the SOAP console without the gateway. The words are joined,
|
|
365
|
-
so no quoting is needed.
|
|
366
|
+
so no quoting is needed. These names are shortcuts that send the exact strings the server's
|
|
366
367
|
addins match:
|
|
367
368
|
|
|
368
369
|
| Shortcut | Sends | Effect |
|
|
369
370
|
|---|---|---|
|
|
370
371
|
| `schedule` | `tell agenda schedule` | lists every scheduled action and its next run |
|
|
371
372
|
| `refresh-agenda` | `tell agenda refresh` | AGENDA rereads every schedule now |
|
|
373
|
+
| `refresh-design APP_ID` | `tell agenda run /<webdesign_path>/RefreshDesign?&AppID=N` | rebuilds the application's design from its template, as `app refresh` does (a clone is then out of date) |
|
|
372
374
|
| `flush-cache` | `tell http cache flush` | clears the design cache and all action class loaders |
|
|
373
375
|
|
|
374
376
|
`tell http flush cache` is **not** a valid command: the HTTP addin only matches
|
|
375
377
|
`cache flush`, and anything else does nothing, silently. Use `flush-cache`.
|
|
376
378
|
|
|
377
|
-
Two console operations act on one application or object, so they live with those nouns:
|
|
379
|
+
Two console operations act on one application or object, so they also live with those nouns:
|
|
378
380
|
|
|
379
381
|
| Command | Sends |
|
|
380
382
|
|---|---|
|
|
381
|
-
| `vortex app refresh
|
|
383
|
+
| `vortex app refresh APP_ID` | `tell agenda run /<webdesign_path>/RefreshDesign?&AppID=N` - rebuilds the design from its template (a clone is then out of date) |
|
|
382
384
|
| `vortex object run ID --app-id N` | `tell agenda run /group/app.pma/name` - runs an ACTION or SCHEDULED_ACTION now |
|
|
383
385
|
|
|
384
386
|
The 8.0 flags (`--show-schedule`, `--refresh-agenda`, `--flush-cache`, `--refresh-design`,
|
|
385
|
-
`--run`) were removed in 8.1.
|
|
387
|
+
`--run`) were removed in 8.1. `app refresh` was `app refresh-design` in 8.1.0; the old
|
|
388
|
+
name still works.
|
|
386
389
|
|
|
387
390
|
### Local clones stay in sync
|
|
388
391
|
|
|
@@ -405,7 +408,7 @@ prints the command to re-sync (`vortex clone APP_ID -s SERVER`).
|
|
|
405
408
|
| `object copy` | the target application's clone |
|
|
406
409
|
| `keyword set` / `delete` | the clone's stored keywords |
|
|
407
410
|
| `compile` | writes `zbin/`; `--upload` stores the uploaded blobs |
|
|
408
|
-
| `execute
|
|
411
|
+
| `app refresh` / `execute refresh-design` | none - prints that the clone is out of date |
|
|
409
412
|
| `app create` / `import` / `export`, all `db` commands | none |
|
|
410
413
|
|
|
411
414
|
A clone stores the design objects, the application's details (with its description), its
|
|
@@ -562,6 +562,9 @@ _EXECUTE_SHORTCUTS_HELP = """\
|
|
|
562
562
|
Shortcuts (each sends the exact string the server's addins match):
|
|
563
563
|
flush-cache | tell http cache flush ('tell http flush cache' does nothing)
|
|
564
564
|
refresh-agenda | tell agenda refresh: AGENDA rereads every schedule now
|
|
565
|
+
refresh-design APP_ID | tell agenda run /<webdesign_path>/RefreshDesign?&AppID=N:
|
|
566
|
+
| rebuild the application's design from its template
|
|
567
|
+
| (same as 'vortex app refresh APP_ID')
|
|
565
568
|
schedule | tell agenda schedule: every scheduled action and its next run
|
|
566
569
|
|
|
567
570
|
Console commands:
|
|
@@ -576,7 +579,7 @@ def add_execute_parser(
|
|
|
576
579
|
aliases=("ex",),
|
|
577
580
|
help=(
|
|
578
581
|
"Send a console command to the server (or a shortcut: flush-cache, "
|
|
579
|
-
"refresh-agenda, schedule)"
|
|
582
|
+
"refresh-agenda, refresh-design APP_ID, schedule)"
|
|
580
583
|
),
|
|
581
584
|
description=_EXECUTE_SHORTCUTS_HELP + _EXECUTE_PARSER_DESCRIPTION,
|
|
582
585
|
formatter_class=RawDescriptionHelpFormatter,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
vortex app list | get | create | update | export | import | refresh
|
|
2
|
+
vortex app list | get | create | update | export | import | refresh,
|
|
3
3
|
and 'vortex ls'
|
|
4
4
|
(= app list --local).
|
|
5
5
|
|
|
@@ -587,7 +587,7 @@ def _render_import(ctx: Context, args: argparse.Namespace, reply: Any) -> None:
|
|
|
587
587
|
# -- parsers ---------------------------------------------------------------
|
|
588
588
|
|
|
589
589
|
|
|
590
|
-
# -- refresh
|
|
590
|
+
# -- refresh ---------------------------------------------------------------
|
|
591
591
|
|
|
592
592
|
|
|
593
593
|
def _refresh_design(ctx: Context, args: argparse.Namespace) -> dict[str, Any]:
|
|
@@ -767,7 +767,7 @@ COMMANDS = [
|
|
|
767
767
|
),
|
|
768
768
|
Command(
|
|
769
769
|
"app",
|
|
770
|
-
"refresh
|
|
770
|
+
"refresh",
|
|
771
771
|
"Rebuild an application's design from its template (AGENDA RefreshDesign)",
|
|
772
772
|
_refresh_design,
|
|
773
773
|
routes=(registry.INVENTORY, registry.CONSOLE),
|
|
@@ -778,7 +778,9 @@ COMMANDS = [
|
|
|
778
778
|
"Rebuild an application's design from its template: sends\n"
|
|
779
779
|
"'tell agenda run /<webdesign_path>/RefreshDesign?&AppID=N' to the\n"
|
|
780
780
|
"console (the gateway's POST console needs GatewaySystem). A clone\n"
|
|
781
|
-
"of the application is then out of date - re-clone it
|
|
781
|
+
"of the application is then out of date - re-clone it.\n"
|
|
782
|
+
"'vortex execute refresh-design N' sends the same command."
|
|
782
783
|
),
|
|
784
|
+
aliases=("refresh-design",),
|
|
783
785
|
),
|
|
784
786
|
]
|
|
@@ -67,6 +67,18 @@ def resolve_command(words: list[str]) -> str:
|
|
|
67
67
|
return SHORTCUTS.get(command, command)
|
|
68
68
|
|
|
69
69
|
|
|
70
|
+
def refresh_design_app_id(words: list[str]) -> int | None:
|
|
71
|
+
"""
|
|
72
|
+
N for 'vortex execute refresh-design N' (the console shortcut for
|
|
73
|
+
'app refresh N'), else None. Raises ValueError for a missing or bad N.
|
|
74
|
+
"""
|
|
75
|
+
if not words or words[0] != "refresh-design":
|
|
76
|
+
return None
|
|
77
|
+
if len(words) != 2 or not words[1].isdigit() or int(words[1]) < 1:
|
|
78
|
+
raise ValueError("refresh-design takes one application id: refresh-design N")
|
|
79
|
+
return int(words[1])
|
|
80
|
+
|
|
81
|
+
|
|
70
82
|
def warn_clone_out_of_date(
|
|
71
83
|
workspace: Workspace, server: PuakmaServer, app_id: int
|
|
72
84
|
) -> None:
|
|
@@ -79,6 +91,21 @@ def warn_clone_out_of_date(
|
|
|
79
91
|
)
|
|
80
92
|
|
|
81
93
|
|
|
94
|
+
def execute_refresh_design(
|
|
95
|
+
workspace: Workspace,
|
|
96
|
+
server: PuakmaServer,
|
|
97
|
+
app_id: int,
|
|
98
|
+
*,
|
|
99
|
+
json_output: bool = False,
|
|
100
|
+
) -> int:
|
|
101
|
+
"""'vortex execute refresh-design N': 'app refresh N' as a console shortcut."""
|
|
102
|
+
command = refresh_design_command(server, app_id)
|
|
103
|
+
code = execute(server, command, json_output=json_output)
|
|
104
|
+
if code == 0:
|
|
105
|
+
warn_clone_out_of_date(workspace, server, app_id)
|
|
106
|
+
return code
|
|
107
|
+
|
|
108
|
+
|
|
82
109
|
def execute(server: PuakmaServer, command: str, *, json_output: bool = False) -> int:
|
|
83
110
|
"""
|
|
84
111
|
Sends one console command. --json: {command, reply} in one envelope, a
|
|
@@ -20,6 +20,8 @@ from vortex.commands.code import code
|
|
|
20
20
|
from vortex.commands.compile import compile_
|
|
21
21
|
from vortex.commands.docs import docs
|
|
22
22
|
from vortex.commands.execute import execute
|
|
23
|
+
from vortex.commands.execute import execute_refresh_design
|
|
24
|
+
from vortex.commands.execute import refresh_design_app_id
|
|
23
25
|
from vortex.commands.execute import resolve_command
|
|
24
26
|
from vortex.commands.log import log
|
|
25
27
|
from vortex.commands.watch import watch
|
|
@@ -434,7 +436,7 @@ def build_parser() -> (
|
|
|
434
436
|
cli.add_watch_parser(command_parser)
|
|
435
437
|
cli.add_clean_parser(command_parser)
|
|
436
438
|
cli.add_log_parser(command_parser)
|
|
437
|
-
cli.add_execute_parser(command_parser)
|
|
439
|
+
parsers["execute"] = cli.add_execute_parser(command_parser)
|
|
438
440
|
cli.add_server_parser(command_parser)
|
|
439
441
|
cli.add_docs_parser(command_parser)
|
|
440
442
|
return parser, parsers
|
|
@@ -491,6 +493,11 @@ def main(argv: Sequence[str] | None = None) -> int:
|
|
|
491
493
|
# 'vortex -s NAME COMMAND' is 'vortex COMMAND -s NAME'
|
|
492
494
|
args.server = args.root_server
|
|
493
495
|
cli.validate_args(args, parsers["clone"])
|
|
496
|
+
if args.command in ("execute", "ex"):
|
|
497
|
+
try:
|
|
498
|
+
args.refresh_design_app_id = refresh_design_app_id(args.cmd)
|
|
499
|
+
except ValueError as e:
|
|
500
|
+
parsers["execute"].error(str(e))
|
|
494
501
|
|
|
495
502
|
if args.no_colour:
|
|
496
503
|
Colour.disable()
|
|
@@ -646,6 +653,13 @@ def main(argv: Sequence[str] | None = None) -> int:
|
|
|
646
653
|
force=args.force,
|
|
647
654
|
)
|
|
648
655
|
elif args.command in ("execute", "ex"):
|
|
656
|
+
if args.refresh_design_app_id is not None:
|
|
657
|
+
return execute_refresh_design(
|
|
658
|
+
workspace,
|
|
659
|
+
server,
|
|
660
|
+
args.refresh_design_app_id,
|
|
661
|
+
json_output=args.json_output,
|
|
662
|
+
)
|
|
649
663
|
return execute(
|
|
650
664
|
server, resolve_command(args.cmd), json_output=args.json_output
|
|
651
665
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vortex_cli
|
|
3
|
-
Version: 8.1.
|
|
3
|
+
Version: 8.1.1
|
|
4
4
|
Summary: Vortex CLI
|
|
5
5
|
Author-email: Jordan Amos <jordan.amos@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -127,7 +127,7 @@ errors (exit 2).
|
|
|
127
127
|
| `config --set-password` | `keyring set vortex-cli:<server> <username>` |
|
|
128
128
|
| `config --sample` | `server get` (every option it reads) |
|
|
129
129
|
| `execute --show-schedule` / `--refresh-agenda` / `--flush-cache` | `execute schedule` / `refresh-agenda` / `flush-cache` |
|
|
130
|
-
| `execute --refresh-design N` | `
|
|
130
|
+
| `execute --refresh-design N` | `execute refresh-design N` or `app refresh N` |
|
|
131
131
|
| `execute --run PATH` | `object run ID --app-id N` |
|
|
132
132
|
| `status [--show-permissions] [--json]` | `vortex [-s NAME] [--show-permissions] [--json]` (no command) - plus the CLI version and the workspace |
|
|
133
133
|
| `vortex` with no command (the workspace path) | the live status of the default server: `vortex-cli` and `workspace` first, then the server (`vortex --path` prints just the path) |
|
|
@@ -271,7 +271,7 @@ vortex app update APP_ID [--name --group --description --inherit-from --templa
|
|
|
271
271
|
[--param NAME=VALUE ...] [--remove-param NAME ...]
|
|
272
272
|
vortex app export APP_ID... [--out-dir --exclude-source --timeout]
|
|
273
273
|
vortex app import FILE.pmx --name N --group G
|
|
274
|
-
vortex app refresh-design
|
|
274
|
+
vortex app refresh APP_ID (alias: refresh-design)
|
|
275
275
|
|
|
276
276
|
── object ───────────────────────────────────────────────────────────────────
|
|
277
277
|
vortex object get ID --app-id ID [--show-source --show-data] [--json]
|
|
@@ -329,7 +329,8 @@ vortex code [--refresh [--reset]] [-s]
|
|
|
329
329
|
vortex [-s NAME] [--show-permissions] [--json] (the server's live status)
|
|
330
330
|
vortex --path (the workspace path)
|
|
331
331
|
vortex log [-n --source -m --errors-only|--debug-only|--info-only -k -d] [--json]
|
|
332
|
-
vortex execute CMD... | flush-cache | refresh-agenda |
|
|
332
|
+
vortex execute CMD... | flush-cache | refresh-agenda | refresh-design APP_ID | schedule
|
|
333
|
+
[--json] (alias: ex)
|
|
333
334
|
vortex server list [--json]
|
|
334
335
|
vortex server get [NAME] [--json]
|
|
335
336
|
vortex server use NAME (or: vortex use NAME)
|
|
@@ -406,27 +407,29 @@ and application write, so a manual cache flush is never required after one.
|
|
|
406
407
|
|
|
407
408
|
`vortex execute CMD...` (or `ex`) sends any console command - the gateway's `POST console`,
|
|
408
409
|
which needs `GatewaySystem`, or the SOAP console without the gateway. The words are joined,
|
|
409
|
-
so no quoting is needed.
|
|
410
|
+
so no quoting is needed. These names are shortcuts that send the exact strings the server's
|
|
410
411
|
addins match:
|
|
411
412
|
|
|
412
413
|
| Shortcut | Sends | Effect |
|
|
413
414
|
|---|---|---|
|
|
414
415
|
| `schedule` | `tell agenda schedule` | lists every scheduled action and its next run |
|
|
415
416
|
| `refresh-agenda` | `tell agenda refresh` | AGENDA rereads every schedule now |
|
|
417
|
+
| `refresh-design APP_ID` | `tell agenda run /<webdesign_path>/RefreshDesign?&AppID=N` | rebuilds the application's design from its template, as `app refresh` does (a clone is then out of date) |
|
|
416
418
|
| `flush-cache` | `tell http cache flush` | clears the design cache and all action class loaders |
|
|
417
419
|
|
|
418
420
|
`tell http flush cache` is **not** a valid command: the HTTP addin only matches
|
|
419
421
|
`cache flush`, and anything else does nothing, silently. Use `flush-cache`.
|
|
420
422
|
|
|
421
|
-
Two console operations act on one application or object, so they live with those nouns:
|
|
423
|
+
Two console operations act on one application or object, so they also live with those nouns:
|
|
422
424
|
|
|
423
425
|
| Command | Sends |
|
|
424
426
|
|---|---|
|
|
425
|
-
| `vortex app refresh
|
|
427
|
+
| `vortex app refresh APP_ID` | `tell agenda run /<webdesign_path>/RefreshDesign?&AppID=N` - rebuilds the design from its template (a clone is then out of date) |
|
|
426
428
|
| `vortex object run ID --app-id N` | `tell agenda run /group/app.pma/name` - runs an ACTION or SCHEDULED_ACTION now |
|
|
427
429
|
|
|
428
430
|
The 8.0 flags (`--show-schedule`, `--refresh-agenda`, `--flush-cache`, `--refresh-design`,
|
|
429
|
-
`--run`) were removed in 8.1.
|
|
431
|
+
`--run`) were removed in 8.1. `app refresh` was `app refresh-design` in 8.1.0; the old
|
|
432
|
+
name still works.
|
|
430
433
|
|
|
431
434
|
### Local clones stay in sync
|
|
432
435
|
|
|
@@ -449,7 +452,7 @@ prints the command to re-sync (`vortex clone APP_ID -s SERVER`).
|
|
|
449
452
|
| `object copy` | the target application's clone |
|
|
450
453
|
| `keyword set` / `delete` | the clone's stored keywords |
|
|
451
454
|
| `compile` | writes `zbin/`; `--upload` stores the uploaded blobs |
|
|
452
|
-
| `execute
|
|
455
|
+
| `app refresh` / `execute refresh-design` | none - prints that the clone is out of date |
|
|
453
456
|
| `app create` / `import` / `export`, all `db` commands | none |
|
|
454
457
|
|
|
455
458
|
A clone stores the design objects, the application's details (with its description), its
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|