machineconfig 6.68__py3-none-any.whl → 6.71__py3-none-any.whl
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.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- machineconfig/scripts/linux/mcfgp +14 -0
- machineconfig/scripts/python/croshell.py +9 -2
- machineconfig/scripts/python/entry.py +3 -5
- machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- machineconfig/scripts/python/fire_jobs.py +10 -2
- machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
- machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
- machineconfig/scripts/python/helpers_navigator/command_tree.py +126 -21
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
- machineconfig/scripts/python/nw/mount_nfs +1 -1
- machineconfig/scripts/windows/mcfgp.ps1 +17 -0
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
- machineconfig/utils/code.py +9 -38
- machineconfig/utils/ssh.py +1 -1
- {machineconfig-6.68.dist-info → machineconfig-6.71.dist-info}/METADATA +1 -1
- {machineconfig-6.68.dist-info → machineconfig-6.71.dist-info}/RECORD +21 -19
- {machineconfig-6.68.dist-info → machineconfig-6.71.dist-info}/WHEEL +0 -0
- {machineconfig-6.68.dist-info → machineconfig-6.71.dist-info}/entry_points.txt +0 -0
- {machineconfig-6.68.dist-info → machineconfig-6.71.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
RANDOM_NAME=$(date +%s%N | sha256sum | head -c 16)
|
|
5
|
+
export OP_PROGRAM_PATH="$HOME/tmp_results/tmp_scripts/machineconfig/${RANDOM_NAME}.sh"
|
|
6
|
+
|
|
7
|
+
mcfg "$@"
|
|
8
|
+
|
|
9
|
+
if [[ -f "$OP_PROGRAM_PATH" ]]; then
|
|
10
|
+
echo "Found op program at: $OP_PROGRAM_PATH"
|
|
11
|
+
bash "$OP_PROGRAM_PATH"
|
|
12
|
+
else
|
|
13
|
+
echo "no op program found"
|
|
14
|
+
fi
|
|
@@ -158,8 +158,15 @@ code --new-window {str(pyfile)}
|
|
|
158
158
|
# --python 3.14
|
|
159
159
|
fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
|
|
160
160
|
|
|
161
|
-
|
|
162
|
-
|
|
161
|
+
import os
|
|
162
|
+
program_path_maybe = os.environ.get("OP_PROGRAM_PATH", None)
|
|
163
|
+
if program_path_maybe is not None:
|
|
164
|
+
program_path_obj = PathExtended(program_path_maybe)
|
|
165
|
+
program_path_obj.parent.mkdir(parents=True, exist_ok=True)
|
|
166
|
+
program_path_obj.write_text(data=fire_line, encoding="utf-8")
|
|
167
|
+
else:
|
|
168
|
+
from machineconfig.utils.code import run_shell_script
|
|
169
|
+
run_shell_script(fire_line, clean_env=False)
|
|
163
170
|
|
|
164
171
|
|
|
165
172
|
def main() -> None:
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
from machineconfig.scripts.python.devops import get_app as get_devops_app
|
|
3
3
|
from machineconfig.scripts.python.cloud import get_app as get_cloud_app
|
|
4
4
|
from machineconfig.scripts.python.agents import get_app as get_agents_app
|
|
5
|
-
from machineconfig.scripts.python.fire_jobs import get_app as get_fire_jobs_app
|
|
6
5
|
from machineconfig.scripts.python.sessions import get_app as get_sessions_app
|
|
7
6
|
from machineconfig.scripts.python.utils import get_app as get_utils_app
|
|
8
7
|
|
|
9
8
|
from machineconfig.scripts.python.ftpx import ftpx as ftpx_func
|
|
10
9
|
from machineconfig.scripts.python.croshell import croshell as croshell_func
|
|
11
|
-
|
|
10
|
+
from machineconfig.scripts.python.fire_jobs import fire as get_fire_jobs_app
|
|
12
11
|
|
|
13
12
|
def get_app():
|
|
14
13
|
import typer
|
|
@@ -25,14 +24,13 @@ def get_app():
|
|
|
25
24
|
app.add_typer(sessions_app, name="sessions", help="[s] Session and layout management", no_args_is_help=True)
|
|
26
25
|
app.add_typer(sessions_app, name="s", hidden=True) # short alias
|
|
27
26
|
|
|
28
|
-
fire_jobs_app = get_fire_jobs_app()
|
|
29
|
-
app.add_typer(fire_jobs_app, name="fire", help="[f] Fire and manage jobs", no_args_is_help=True)
|
|
30
|
-
app.add_typer(fire_jobs_app, name="f", hidden=True) # short alias
|
|
31
27
|
|
|
32
28
|
agents_app = get_agents_app()
|
|
33
29
|
app.add_typer(agents_app, name="agents", help="[a] 🤖 AI Agents management commands", no_args_is_help=True)
|
|
34
30
|
app.add_typer(agents_app, name="a", hidden=True) # short alias
|
|
35
31
|
|
|
32
|
+
app.command(name="fire", help="[f] Fire and manage jobs", no_args_is_help=False)(get_fire_jobs_app)
|
|
33
|
+
app.command(name="f", hidden=True, no_args_is_help=False)(get_fire_jobs_app)
|
|
36
34
|
app.command("ftpx", no_args_is_help=True, help="[ff] File transfer utility though SSH")(ftpx_func)
|
|
37
35
|
app.command("ff", no_args_is_help=True, hidden=True)(ftpx_func) # short alias
|
|
38
36
|
app.command("croshell", no_args_is_help=False, help="[r] Cross-shell command execution")(croshell_func)
|
|
@@ -192,8 +192,15 @@ python -m machineconfig.cluster.templates.cli_click --file {choice_file} """
|
|
|
192
192
|
command = "$ErrorActionPreference = 'SilentlyContinue';\n" + command + "\nStart-Sleep -Seconds 0.5"
|
|
193
193
|
else:
|
|
194
194
|
raise NotImplementedError(f"Platform {platform.system()} not supported.")
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
import os
|
|
196
|
+
op_program_path = os.environ.get("OP_PROGRAM_PATH", None)
|
|
197
|
+
if op_program_path is not None:
|
|
198
|
+
op_program_path = PathExtended(op_program_path)
|
|
199
|
+
op_program_path.parent.mkdir(parents=True, exist_ok=True)
|
|
200
|
+
op_program_path.write_text(command, encoding="utf-8")
|
|
201
|
+
else:
|
|
202
|
+
from machineconfig.utils.code import run_shell_script
|
|
203
|
+
run_shell_script(command)
|
|
197
204
|
|
|
198
205
|
|
|
199
206
|
def fire(
|
|
@@ -267,6 +274,7 @@ def get_app():
|
|
|
267
274
|
app.command(context_settings={"allow_extra_args": True, "allow_interspersed_args": False})(fire)
|
|
268
275
|
return app
|
|
269
276
|
|
|
277
|
+
|
|
270
278
|
def main():
|
|
271
279
|
app = get_app()
|
|
272
280
|
app()
|
|
@@ -46,7 +46,7 @@ def path():
|
|
|
46
46
|
uv_with = ["textual"]
|
|
47
47
|
uv_project_dir = None
|
|
48
48
|
if not Path.home().joinpath("code/machineconfig").exists():
|
|
49
|
-
uv_with.append("machineconfig>=6.
|
|
49
|
+
uv_with.append("machineconfig>=6.71")
|
|
50
50
|
else:
|
|
51
51
|
uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
|
|
52
52
|
run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
|
|
@@ -41,9 +41,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
|
|
|
41
41
|
else:
|
|
42
42
|
import platform
|
|
43
43
|
if platform.system() == "Windows":
|
|
44
|
-
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.
|
|
44
|
+
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.71" """)
|
|
45
45
|
else:
|
|
46
|
-
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.
|
|
46
|
+
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.71" """)
|
|
47
47
|
from machineconfig.profile.create_shell_profile import create_default_shell_profile
|
|
48
48
|
if not no_copy_assets:
|
|
49
49
|
create_default_shell_profile() # involves copying assets too
|
|
@@ -68,7 +68,7 @@ def navigate():
|
|
|
68
68
|
path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
|
|
69
69
|
from machineconfig.utils.code import run_shell_script
|
|
70
70
|
if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
|
|
71
|
-
else: executable = """--with "machineconfig>=6.
|
|
71
|
+
else: executable = """--with "machineconfig>=6.71,textual" """
|
|
72
72
|
run_shell_script(f"""uv run {executable} {path}""")
|
|
73
73
|
|
|
74
74
|
|
|
@@ -191,12 +191,36 @@ class CommandTree(Tree[CommandInfo]):
|
|
|
191
191
|
help_text="devops config shell <copy|reference>"
|
|
192
192
|
))
|
|
193
193
|
|
|
194
|
-
config_node.add("🔗
|
|
195
|
-
name="
|
|
196
|
-
description="
|
|
197
|
-
command="devops config
|
|
194
|
+
config_node.add("🔗 path - Navigate PATH variable", data=CommandInfo(
|
|
195
|
+
name="path",
|
|
196
|
+
description="Navigate PATH variable with TUI",
|
|
197
|
+
command="devops config path",
|
|
198
198
|
parent="config",
|
|
199
|
-
help_text="devops config
|
|
199
|
+
help_text="devops config path"
|
|
200
|
+
))
|
|
201
|
+
|
|
202
|
+
config_node.add("🔗 starship-theme - Select starship theme", data=CommandInfo(
|
|
203
|
+
name="starship-theme",
|
|
204
|
+
description="Select starship prompt theme",
|
|
205
|
+
command="devops config starship-theme",
|
|
206
|
+
parent="config",
|
|
207
|
+
help_text="devops config starship-theme"
|
|
208
|
+
))
|
|
209
|
+
|
|
210
|
+
config_node.add("🔗 pwsh-theme - Configure PowerShell theme", data=CommandInfo(
|
|
211
|
+
name="pwsh-theme",
|
|
212
|
+
description="Select powershell prompt theme",
|
|
213
|
+
command="devops config pwsh-theme",
|
|
214
|
+
parent="config",
|
|
215
|
+
help_text="devops config pwsh-theme"
|
|
216
|
+
))
|
|
217
|
+
|
|
218
|
+
config_node.add("🔗 copy-assets - Copy asset files", data=CommandInfo(
|
|
219
|
+
name="copy-assets",
|
|
220
|
+
description="Copy asset files from library to machine",
|
|
221
|
+
command="devops config copy-assets",
|
|
222
|
+
parent="config",
|
|
223
|
+
help_text="devops config copy-assets <scripts|settings|both>"
|
|
200
224
|
))
|
|
201
225
|
|
|
202
226
|
# data subcommands
|
|
@@ -241,28 +265,52 @@ class CommandTree(Tree[CommandInfo]):
|
|
|
241
265
|
help_text="devops network share-terminal"
|
|
242
266
|
))
|
|
243
267
|
|
|
244
|
-
network_node.add("
|
|
245
|
-
name="
|
|
268
|
+
network_node.add("🌐 share-server - Start local/global server", data=CommandInfo(
|
|
269
|
+
name="share-server",
|
|
270
|
+
description="Start local/global server to share files/folders via web browser",
|
|
271
|
+
command="devops network share-server",
|
|
272
|
+
parent="network",
|
|
273
|
+
help_text="devops network share-server"
|
|
274
|
+
))
|
|
275
|
+
|
|
276
|
+
network_node.add("📡 install-ssh-server - Install SSH server", data=CommandInfo(
|
|
277
|
+
name="install-ssh-server",
|
|
246
278
|
description="Install SSH server",
|
|
247
|
-
command="devops network
|
|
279
|
+
command="devops network install-ssh-server",
|
|
248
280
|
parent="network",
|
|
249
|
-
help_text="devops network
|
|
281
|
+
help_text="devops network install-ssh-server"
|
|
250
282
|
))
|
|
251
283
|
|
|
252
|
-
network_node.add("
|
|
253
|
-
name="
|
|
284
|
+
network_node.add("🔑 add-ssh-key - Add SSH public key", data=CommandInfo(
|
|
285
|
+
name="add-ssh-key",
|
|
254
286
|
description="Add SSH public key to this machine",
|
|
255
|
-
command="devops network
|
|
287
|
+
command="devops network add-ssh-key",
|
|
256
288
|
parent="network",
|
|
257
|
-
help_text="devops network
|
|
289
|
+
help_text="devops network add-ssh-key --path <file> --choose --value --github <username>"
|
|
258
290
|
))
|
|
259
291
|
|
|
260
|
-
network_node.add("
|
|
261
|
-
name="
|
|
292
|
+
network_node.add("🗝️ add-ssh-identity - Add SSH identity", data=CommandInfo(
|
|
293
|
+
name="add-ssh-identity",
|
|
262
294
|
description="Add SSH identity (private key) to this machine",
|
|
263
|
-
command="devops network
|
|
295
|
+
command="devops network add-ssh-identity",
|
|
296
|
+
parent="network",
|
|
297
|
+
help_text="devops network add-ssh-identity"
|
|
298
|
+
))
|
|
299
|
+
|
|
300
|
+
network_node.add("📌 show-address - Show computer addresses", data=CommandInfo(
|
|
301
|
+
name="show-address",
|
|
302
|
+
description="Show this computer addresses on network",
|
|
303
|
+
command="devops network show-address",
|
|
264
304
|
parent="network",
|
|
265
|
-
help_text="devops network
|
|
305
|
+
help_text="devops network show-address"
|
|
306
|
+
))
|
|
307
|
+
|
|
308
|
+
network_node.add("🐛 debug-ssh - Debug SSH connection", data=CommandInfo(
|
|
309
|
+
name="debug-ssh",
|
|
310
|
+
description="Debug SSH connection",
|
|
311
|
+
command="devops network debug-ssh",
|
|
312
|
+
parent="network",
|
|
313
|
+
help_text="devops network debug-ssh"
|
|
266
314
|
))
|
|
267
315
|
|
|
268
316
|
# self subcommands
|
|
@@ -314,6 +362,22 @@ class CommandTree(Tree[CommandInfo]):
|
|
|
314
362
|
help_text="devops self navigate"
|
|
315
363
|
))
|
|
316
364
|
|
|
365
|
+
self_node.add("📚 readme - Render README markdown", data=CommandInfo(
|
|
366
|
+
name="readme",
|
|
367
|
+
description="Render readme markdown in terminal",
|
|
368
|
+
command="devops self readme",
|
|
369
|
+
parent="self",
|
|
370
|
+
help_text="devops self readme"
|
|
371
|
+
))
|
|
372
|
+
|
|
373
|
+
self_node.add("🐍 python - Run Python command/file", data=CommandInfo(
|
|
374
|
+
name="python",
|
|
375
|
+
description="Run python command/file in the machineconfig environment",
|
|
376
|
+
command="devops self python",
|
|
377
|
+
parent="self",
|
|
378
|
+
help_text="devops self python <path> --command"
|
|
379
|
+
))
|
|
380
|
+
|
|
317
381
|
# fire command - now a typer sub-app
|
|
318
382
|
fire_node = self.root.add("🔥 fire - Fire jobs execution", data=CommandInfo(
|
|
319
383
|
name="fire",
|
|
@@ -463,9 +527,9 @@ class CommandTree(Tree[CommandInfo]):
|
|
|
463
527
|
))
|
|
464
528
|
|
|
465
529
|
# croshell command
|
|
466
|
-
self.root.add("
|
|
530
|
+
self.root.add("🔄 croshell - Cross-shell command execution", data=CommandInfo(
|
|
467
531
|
name="croshell",
|
|
468
|
-
description="
|
|
532
|
+
description="Cross-shell command execution",
|
|
469
533
|
command="croshell",
|
|
470
534
|
is_group=False,
|
|
471
535
|
module_path="machineconfig.scripts.python.croshell",
|
|
@@ -473,11 +537,52 @@ class CommandTree(Tree[CommandInfo]):
|
|
|
473
537
|
))
|
|
474
538
|
|
|
475
539
|
# ftpx command
|
|
476
|
-
self.root.add("📡 ftpx - File transfer", data=CommandInfo(
|
|
540
|
+
self.root.add("📡 ftpx - File transfer utility", data=CommandInfo(
|
|
477
541
|
name="ftpx",
|
|
478
|
-
description="File transfer
|
|
542
|
+
description="File transfer utility through SSH",
|
|
479
543
|
command="ftpx",
|
|
480
544
|
is_group=False,
|
|
481
545
|
module_path="machineconfig.scripts.python.ftpx",
|
|
482
546
|
help_text="ftpx <source> <target> --recursive --zipFirst --cloud"
|
|
547
|
+
))
|
|
548
|
+
|
|
549
|
+
# utils command
|
|
550
|
+
utils_node = self.root.add("🛠️ utils - Utility commands", data=CommandInfo(
|
|
551
|
+
name="utils",
|
|
552
|
+
description="Utility commands",
|
|
553
|
+
command="utils",
|
|
554
|
+
is_group=True,
|
|
555
|
+
module_path="machineconfig.scripts.python.utils"
|
|
556
|
+
))
|
|
557
|
+
|
|
558
|
+
utils_node.add("💀 kill-process - Kill processes", data=CommandInfo(
|
|
559
|
+
name="kill-process",
|
|
560
|
+
description="Choose a process to kill interactively",
|
|
561
|
+
command="utils kill-process",
|
|
562
|
+
parent="utils",
|
|
563
|
+
help_text="utils kill-process"
|
|
564
|
+
))
|
|
565
|
+
|
|
566
|
+
utils_node.add("⬇️ download - Download file", data=CommandInfo(
|
|
567
|
+
name="download",
|
|
568
|
+
description="Download a file from a URL and optionally decompress it",
|
|
569
|
+
command="utils download",
|
|
570
|
+
parent="utils",
|
|
571
|
+
help_text="utils download <url> --destination <path> --decompress"
|
|
572
|
+
))
|
|
573
|
+
|
|
574
|
+
utils_node.add("📄 merge-pdfs - Merge PDF files", data=CommandInfo(
|
|
575
|
+
name="merge-pdfs",
|
|
576
|
+
description="Merge two PDF files into one",
|
|
577
|
+
command="utils merge-pdfs",
|
|
578
|
+
parent="utils",
|
|
579
|
+
help_text="utils merge-pdfs <file1> <file2> --output <file>"
|
|
580
|
+
))
|
|
581
|
+
|
|
582
|
+
utils_node.add("🖥️ get-machine-specs - Get machine specifications", data=CommandInfo(
|
|
583
|
+
name="get-machine-specs",
|
|
584
|
+
description="Get machine specifications",
|
|
585
|
+
command="utils get-machine-specs",
|
|
586
|
+
parent="utils",
|
|
587
|
+
help_text="utils get-machine-specs"
|
|
483
588
|
))
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
# mkdir ~/data/local
|
|
6
6
|
# sudo mount -o nolock,noatime,nodiratime,proto=tcp,timeo=600,retrans=2,noac alex-p51s-5:/home/alex/data/local ./data/local
|
|
7
7
|
|
|
8
|
-
uv run --python 3.14 --with "machineconfig>=6.
|
|
8
|
+
uv run --python 3.14 --with "machineconfig>=6.71" python -m machineconfig.scripts.python.mount_nfs
|
|
9
9
|
# Check if remote server is reachable and share folder exists
|
|
10
10
|
if ! ping -c 1 "$remote_server" &> /dev/null; then
|
|
11
11
|
echo "💥 Error: Remote server $remote_server is not reachable."
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Generate a random name (based on current timestamp hashed with SHA256)
|
|
2
|
+
$timestamp = Get-Date -Format o | Get-FileHash -Algorithm SHA256
|
|
3
|
+
$randomName = ($timestamp.Hash.Substring(0, 16))
|
|
4
|
+
|
|
5
|
+
# Define the output path
|
|
6
|
+
$env:OP_PROGRAM_PATH = "$HOME/tmp_results/tmp_scripts/machineconfig/${randomName}.ps1"
|
|
7
|
+
|
|
8
|
+
# Run your equivalent command (replace with your actual command)
|
|
9
|
+
mcfg @args
|
|
10
|
+
|
|
11
|
+
# Check if the file exists
|
|
12
|
+
if (Test-Path $env:OP_PROGRAM_PATH) {
|
|
13
|
+
Write-Host "Found op program at: $env:OP_PROGRAM_PATH"
|
|
14
|
+
& $env:OP_PROGRAM_PATH
|
|
15
|
+
} else {
|
|
16
|
+
Write-Host "no op program found"
|
|
17
|
+
}
|
|
@@ -7,7 +7,7 @@ $user = ''
|
|
|
7
7
|
$sharePath = ''
|
|
8
8
|
$driveLetter = ''
|
|
9
9
|
|
|
10
|
-
uv run --python 3.14 --with "machineconfig>=6.
|
|
10
|
+
uv run --python 3.14 --with "machineconfig>=6.71" python -m machineconfig.scripts.python.mount_ssh
|
|
11
11
|
|
|
12
12
|
net use T: \\sshfs.kr\$user@$host.local
|
|
13
13
|
# this worked: net use T: \\sshfs\alex@alex-p51s-5.local
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
. <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
|
|
3
3
|
mcfg() {
|
|
4
|
-
"$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.
|
|
4
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.71" mcfg "$@"
|
|
5
5
|
}
|
|
6
6
|
alias d="mcfg devops"
|
|
7
7
|
alias c="mcfg cloud"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
|
|
4
4
|
function mcfg {
|
|
5
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.
|
|
5
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.71" mcfg $args
|
|
6
6
|
}
|
|
7
7
|
function d { mcfg devops @args }
|
|
8
8
|
function c { mcfg cloud @args }
|
machineconfig/utils/code.py
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import atexit
|
|
3
|
-
# import platform
|
|
4
2
|
from typing import Any, Optional, Callable
|
|
5
|
-
import subprocess
|
|
6
3
|
from machineconfig.utils.accessories import randstr
|
|
7
4
|
from machineconfig.utils.path_extended import PathExtended
|
|
8
5
|
from pathlib import Path
|
|
@@ -66,7 +63,6 @@ def run_shell_script(script: str, display_script: bool = True, clean_env: bool =
|
|
|
66
63
|
with tempfile.NamedTemporaryFile(mode='w', suffix=suffix, delete=False, encoding='utf-8') as temp_file:
|
|
67
64
|
temp_file.write(script)
|
|
68
65
|
temp_script_path = PathExtended(temp_file.name)
|
|
69
|
-
|
|
70
66
|
console = Console()
|
|
71
67
|
if display_script:
|
|
72
68
|
from rich.syntax import Syntax
|
|
@@ -92,37 +88,12 @@ def run_shell_script(script: str, display_script: bool = True, clean_env: bool =
|
|
|
92
88
|
return proc
|
|
93
89
|
|
|
94
90
|
|
|
95
|
-
def
|
|
96
|
-
import
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
suffix = ".ps1"
|
|
105
|
-
lexer = "powershell"
|
|
106
|
-
else:
|
|
107
|
-
suffix = ".sh"
|
|
108
|
-
lexer = "bash"
|
|
109
|
-
|
|
110
|
-
script_path = PathExtended.tmp().joinpath("tmp_scripts", "exit", randstr() + suffix)
|
|
111
|
-
script_path.parent.mkdir(parents=True, exist_ok=True)
|
|
112
|
-
script_path.write_text(script, encoding="utf-8")
|
|
113
|
-
|
|
114
|
-
if display_script:
|
|
115
|
-
console.print(Panel(Syntax(code=script, lexer=lexer), title=f"📄 Exit script @ {script_path}", subtitle="Running at exit"), style="bold yellow")
|
|
116
|
-
|
|
117
|
-
if platform.system() != "Windows":
|
|
118
|
-
script_path.chmod(0o755)
|
|
119
|
-
|
|
120
|
-
if platform.system() == "Windows":
|
|
121
|
-
subprocess.run(["powershell", "-ExecutionPolicy", "Bypass", "-NoProfile", "-File", str(script_path)], check=False)
|
|
122
|
-
else:
|
|
123
|
-
subprocess.run(["bash", str(script_path)], check=False)
|
|
124
|
-
|
|
125
|
-
script_path.unlink(missing_ok=True)
|
|
126
|
-
|
|
127
|
-
atexit.register(execute_script_at_exit)
|
|
128
|
-
|
|
91
|
+
def exit_then_run_shell_script(command: str):
|
|
92
|
+
import os
|
|
93
|
+
op_program_path = os.environ.get("OP_PROGRAM_PATH", None)
|
|
94
|
+
if op_program_path is not None:
|
|
95
|
+
op_program_path = PathExtended(op_program_path)
|
|
96
|
+
op_program_path.parent.mkdir(parents=True, exist_ok=True)
|
|
97
|
+
op_program_path.write_text(command, encoding="utf-8")
|
|
98
|
+
else:
|
|
99
|
+
run_shell_script(command)
|
machineconfig/utils/ssh.py
CHANGED
|
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
|
|
|
8
8
|
from machineconfig.utils.accessories import pprint, randstr
|
|
9
9
|
from machineconfig.utils.meta import lambda_to_python_script
|
|
10
10
|
UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
|
|
11
|
-
MACHINECONFIG_VERSION = "machineconfig>=6.
|
|
11
|
+
MACHINECONFIG_VERSION = "machineconfig>=6.71"
|
|
12
12
|
DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
|
|
13
13
|
|
|
14
14
|
class SSH:
|
|
@@ -111,6 +111,7 @@ machineconfig/scripts/linux/fzfag,sha256=x0rX7vM_YjKLZ822D2Xh0HdaTj5kR_gG3g_5_w6
|
|
|
111
111
|
machineconfig/scripts/linux/fzffg,sha256=jjeeyFkWmBbwH2taRqC3EOzZep2KR-ZYoI4UI-5kHqg,1090
|
|
112
112
|
machineconfig/scripts/linux/fzfg,sha256=ClGnJZUsIk4y0qs3W5iXGo-nd0FaqAHMsnh8uoXQFy8,1190
|
|
113
113
|
machineconfig/scripts/linux/fzfrga,sha256=xSdws6ae28ZXkkqz_uupZ0MYw_vxE2qpLT2DLS3WITM,460
|
|
114
|
+
machineconfig/scripts/linux/mcfgp,sha256=GYxtQrFCxa56hvuAyjfEDGHfp2ghU11pTKzmCHUMicg,300
|
|
114
115
|
machineconfig/scripts/linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
|
|
115
116
|
machineconfig/scripts/linux/warp-cli.sh,sha256=shFFZ9viet_DSEEHT8kxlGRHoJpO6o85pKYnc3rIkaA,3868
|
|
116
117
|
machineconfig/scripts/linux/z_ls,sha256=h5YJYfnJrmtLe4c2iKk5aZdaK_Zeaj3CpQX8SSr7fr0,3310
|
|
@@ -122,11 +123,11 @@ machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP
|
|
|
122
123
|
machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
123
124
|
machineconfig/scripts/python/agents.py,sha256=gGeeWCI0AN_DyDJ3G5KR9qSsXv8zkUd5dBRRWqz-dQE,10722
|
|
124
125
|
machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yyeehw_cU8,1263
|
|
125
|
-
machineconfig/scripts/python/croshell.py,sha256=
|
|
126
|
+
machineconfig/scripts/python/croshell.py,sha256=gidD9wF4A23WlRNfzbKcPa2BvIKqcAkzQ1CSlN3A2NY,8580
|
|
126
127
|
machineconfig/scripts/python/devops.py,sha256=Lv4d-UlyOREj4VTcu_pxswYo54Mawe3XGeKjreGQDYg,2222
|
|
127
128
|
machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
|
|
128
|
-
machineconfig/scripts/python/entry.py,sha256=
|
|
129
|
-
machineconfig/scripts/python/fire_jobs.py,sha256=
|
|
129
|
+
machineconfig/scripts/python/entry.py,sha256=TB5lZDZDImGqX4_mMSEv4ZoFigIPA0RXn-9H2cmPS6g,2457
|
|
130
|
+
machineconfig/scripts/python/fire_jobs.py,sha256=7L9g4NCr-0gGw3XGNvRCtu77fpfTrTTXMWZ_R4EoSlc,13912
|
|
130
131
|
machineconfig/scripts/python/ftpx.py,sha256=A13hL_tDYfcsaK9PkshK-0lrUS6KPhPCtwqWtLSo6IM,9764
|
|
131
132
|
machineconfig/scripts/python/interactive.py,sha256=zt3g6nGKR_Y5A57UnR4Y5-JpLzrpnCOSaqU1bnaikK0,11666
|
|
132
133
|
machineconfig/scripts/python/sessions.py,sha256=JfN8M7r7f8DkfiGJ4jz2NfXvABm90nOZJmLGxPgw_2M,9518
|
|
@@ -163,7 +164,7 @@ machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1
|
|
|
163
164
|
machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
164
165
|
machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
|
|
165
166
|
machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
|
|
166
|
-
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=
|
|
167
|
+
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=gqaWO0L8I0CS3wkLrwgKj2DKw8rzIBomLiTF4UcXE-c,6932
|
|
167
168
|
machineconfig/scripts/python/helpers_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
168
169
|
machineconfig/scripts/python/helpers_cloud/cloud_copy.py,sha256=OV1w3ajFVFs6FJytjIPOntYB_aW2ywGohKi73V4Dm2Y,8691
|
|
169
170
|
machineconfig/scripts/python/helpers_cloud/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
|
|
@@ -179,12 +180,12 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPh
|
|
|
179
180
|
machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
|
|
180
181
|
machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
|
|
181
182
|
machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
182
|
-
machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=
|
|
183
|
+
machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=z6QsYsg4rbBxg5jv-uSn7BUhmhINj6AW_7qoLNiQxsM,7218
|
|
183
184
|
machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=rjTys4FNf9_feP9flWM7Zvq17dxWmetSiGaHPxp25nk,2737
|
|
184
185
|
machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
|
|
185
186
|
machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=B5Xa9pV5MdC4vPo3EmKaHvNMlThsY3c5F92YPE5j3rI,4176
|
|
186
187
|
machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
|
|
187
|
-
machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=
|
|
188
|
+
machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=31tB8ZWg_KX58CJs04uaLRf3Lfag4Izlu7UyZRKhCJs,6225
|
|
188
189
|
machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=q9pFJ6AxPuygMr3onMNOKEuuQHbVE_6Qoyo7xRT5FX0,4196
|
|
189
190
|
machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
|
|
190
191
|
machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=gj9KNY6GyzSflXJRkX0lzyvypvwdgseudXhgJcmAtPY,6074
|
|
@@ -219,13 +220,13 @@ machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py,
|
|
|
219
220
|
machineconfig/scripts/python/helpers_navigator/__init__.py,sha256=5qPsu5ztoj0gkrioY0Yg0GTZ9JAn6SG2gAk-6DpuQ00,764
|
|
220
221
|
machineconfig/scripts/python/helpers_navigator/command_builder.py,sha256=59ipLYdkWvj_l1xqrC6rz2E2GNCP91BVBsX8vqTRnjQ,4618
|
|
221
222
|
machineconfig/scripts/python/helpers_navigator/command_detail.py,sha256=9cL2wVqa_vzgsSIYg-eVjeuac9f3aQJvrTl0T-SRAOU,1693
|
|
222
|
-
machineconfig/scripts/python/helpers_navigator/command_tree.py,sha256=
|
|
223
|
+
machineconfig/scripts/python/helpers_navigator/command_tree.py,sha256=Kw673rk7QbRBL1lCvCDC5HsoQemzh2mEw5aJSQPbgtk,24421
|
|
223
224
|
machineconfig/scripts/python/helpers_navigator/data_models.py,sha256=62CIZ01rfCD2mKX_ihEVuhNzZ8FDnRSEIIQuyKOtmOg,533
|
|
224
225
|
machineconfig/scripts/python/helpers_navigator/main_app.py,sha256=R1vOBMUKaiFHOg0D4SzTcu48Wsc8lO0LKAzrZxCsCtg,8849
|
|
225
226
|
machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wdm7YpDBtfhwcPnSqDPFrV2LqbcSBWMT4,414
|
|
226
227
|
machineconfig/scripts/python/helpers_repos/action.py,sha256=9AxWy8mB9HFeV5t11-qD_l-KA5jkUmm0pXVKT1L6-Qk,14894
|
|
227
228
|
machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
|
|
228
|
-
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=
|
|
229
|
+
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=a2tiMpgPUu7Ny7pew7CuNq5dyHAhsHGIHuz7vvmHRjc,10450
|
|
229
230
|
machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
|
|
230
231
|
machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=vSDtrF4829jziwp6WZmGt9G8MJ9jY4hfXqtf0vhkYSE,607
|
|
231
232
|
machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
|
|
@@ -241,7 +242,7 @@ machineconfig/scripts/python/nw/add_ssh_key.py,sha256=9JLmWu8pE7PAL5VuCFd19iVEdC
|
|
|
241
242
|
machineconfig/scripts/python/nw/devops_add_identity.py,sha256=aPjcHbTLhxYwWYcandyAHdwuO15ZBu3fB82u6bI0tMQ,3773
|
|
242
243
|
machineconfig/scripts/python/nw/devops_add_ssh_key.py,sha256=CkIl85hZLtG9k7yXLSzqi88YrilHV4hIUWHAPBwxWjw,8922
|
|
243
244
|
machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
|
|
244
|
-
machineconfig/scripts/python/nw/mount_nfs,sha256=
|
|
245
|
+
machineconfig/scripts/python/nw/mount_nfs,sha256=XW4Z476706mUDrqldn21B2uTJvdVKOeuwhhDMWfu8zA,1855
|
|
245
246
|
machineconfig/scripts/python/nw/mount_nfs.py,sha256=lOMDY4RS7tx8gsCazVR5tNNwFbaRyO2PJlnwBCDQgCM,3573
|
|
246
247
|
machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
|
|
247
248
|
machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
|
|
@@ -255,10 +256,11 @@ machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=jHJyFTuks_Kw4cgE8
|
|
|
255
256
|
machineconfig/scripts/windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
|
|
256
257
|
machineconfig/scripts/windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
|
|
257
258
|
machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
|
|
259
|
+
machineconfig/scripts/windows/mcfgp.ps1,sha256=uuK5pEz38D3_SOjfhbvkDT8Kt4I62YhNzkExlW8VSps,577
|
|
258
260
|
machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
|
|
259
261
|
machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
|
|
260
262
|
machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
|
|
261
|
-
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=
|
|
263
|
+
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=dw9U9pd8BRMVF8DrZj9GNtzLzlyjOAMlTWMWGA3e0a4,322
|
|
262
264
|
machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
|
|
263
265
|
machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
|
|
264
266
|
machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
|
|
@@ -375,7 +377,7 @@ machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKG
|
|
|
375
377
|
machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
|
|
376
378
|
machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
|
|
377
379
|
machineconfig/setup_linux/web_shortcuts/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
|
|
378
|
-
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=
|
|
380
|
+
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=Sn43F09LEJinKrSDSx1Sh-n04_Z7b46_nw8-andK8O4,464
|
|
379
381
|
machineconfig/setup_mac/__init__.py,sha256=Q1waupi5vCBroLqc8Rtnw69_7jLnm2Cs7_zH_GSZgMs,616
|
|
380
382
|
machineconfig/setup_mac/apps.sh,sha256=R0N6fBwLCzwy4qAormyMerXXXrHazibSkY6NrNOpTQU,2772
|
|
381
383
|
machineconfig/setup_mac/uv.sh,sha256=CSN8oCBKS-LK1vJJqYOhAMcrouTf4Q_F3cpplc_ddMA,1157
|
|
@@ -389,12 +391,12 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
|
|
|
389
391
|
machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
|
|
390
392
|
machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
|
|
391
393
|
machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
|
|
392
|
-
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=
|
|
394
|
+
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=U3wWQ0VJdcuZVo5r8vgnNAsMTLmLgLIpWfMVBe_Zw1Y,581
|
|
393
395
|
machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
394
396
|
machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
|
|
395
397
|
machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
396
398
|
machineconfig/utils/accessories.py,sha256=Rs8R0GUb2Ub6YimkgXHnI02CShS5BKlrZdCigVxfPlk,4339
|
|
397
|
-
machineconfig/utils/code.py,sha256=
|
|
399
|
+
machineconfig/utils/code.py,sha256=Ia7v1kkRUXbKoEU1llgWcrPFG2skxe2wK-JGBjG_s9Y,4836
|
|
398
400
|
machineconfig/utils/installer.py,sha256=UzI_DtTcKbgvkAkWkNLAPUtx-RVqITHCpvZyLiCpD9g,10377
|
|
399
401
|
machineconfig/utils/io.py,sha256=4dSieoqZO8Vvi4vW8lLoITDHBvmFp4dtl3kyeZHQ6Co,2528
|
|
400
402
|
machineconfig/utils/links.py,sha256=KM6vIn3hag9FYEzLSHP5MAM9tU_RStw2mCq2_OvmmZA,23672
|
|
@@ -407,7 +409,7 @@ machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,
|
|
|
407
409
|
machineconfig/utils/scheduler.py,sha256=AwSUzGr7rbDVzHtw7k2xA2GpSoV1b6Ml1z7FsUPIa9w,14737
|
|
408
410
|
machineconfig/utils/scheduling.py,sha256=6x5zLA7sY5gohrEtN6zGrXIqNFasMoyBfwLcOjrjiME,11109
|
|
409
411
|
machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
|
|
410
|
-
machineconfig/utils/ssh.py,sha256=
|
|
412
|
+
machineconfig/utils/ssh.py,sha256=U4fEsmKMRnjBAS-8ZH330NlSpGBluNecAWRYfNM8YL4,38991
|
|
411
413
|
machineconfig/utils/terminal.py,sha256=VDgsjTjBmMGgZN0YIc0pJ8YksLDrBtiXON1EThy7_is,4264
|
|
412
414
|
machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
|
|
413
415
|
machineconfig/utils/upgrade_packages.py,sha256=mSFyKvB3JhHte_x1dtmEgrJZCAXgTUQoaJUSx1OXQ3Y,4145
|
|
@@ -436,8 +438,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
|
|
|
436
438
|
machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
|
|
437
439
|
machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
|
|
438
440
|
machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
439
|
-
machineconfig-6.
|
|
440
|
-
machineconfig-6.
|
|
441
|
-
machineconfig-6.
|
|
442
|
-
machineconfig-6.
|
|
443
|
-
machineconfig-6.
|
|
441
|
+
machineconfig-6.71.dist-info/METADATA,sha256=Q2uDSb2JCBDif4mSxlgyfnURbayd58IYN0O1xs8NZmw,2928
|
|
442
|
+
machineconfig-6.71.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
443
|
+
machineconfig-6.71.dist-info/entry_points.txt,sha256=NTW7hbUlpt5Vx9DdQrONLkYMCuBXpvYh1dt0AtlGxeI,466
|
|
444
|
+
machineconfig-6.71.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
|
|
445
|
+
machineconfig-6.71.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|