machineconfig 1.94__py3-none-any.whl → 1.96__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/cluster/cloud_manager.py +445 -343
- machineconfig/cluster/data_transfer.py +63 -56
- machineconfig/cluster/distribute.py +284 -280
- machineconfig/cluster/file_manager.py +234 -237
- machineconfig/cluster/job_params.py +133 -133
- machineconfig/cluster/loader_runner.py +183 -149
- machineconfig/cluster/remote_machine.py +269 -252
- machineconfig/cluster/script_execution.py +215 -209
- machineconfig/cluster/script_notify_upon_completion.py +50 -43
- machineconfig/cluster/self_ssh.py +52 -54
- machineconfig/cluster/sessions_managers/__init__.py +0 -0
- machineconfig/cluster/sessions_managers/archive/__init__.py +0 -0
- machineconfig/{jobs/python → cluster/sessions_managers/archive}/create_zellij_template.py +5 -3
- machineconfig/cluster/sessions_managers/archive/session_managers.py +184 -0
- machineconfig/cluster/sessions_managers/demo_rich_zellij.py +0 -0
- machineconfig/cluster/sessions_managers/enhanced_command_runner.py +160 -0
- machineconfig/cluster/sessions_managers/wt_local.py +494 -0
- machineconfig/cluster/sessions_managers/wt_local_manager.py +577 -0
- machineconfig/cluster/sessions_managers/wt_remote.py +288 -0
- machineconfig/cluster/sessions_managers/wt_remote_manager.py +483 -0
- machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +196 -0
- machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +418 -0
- machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +175 -0
- machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +300 -0
- machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +228 -0
- machineconfig/cluster/sessions_managers/zellij_local.py +418 -0
- machineconfig/cluster/sessions_managers/zellij_local_manager.py +533 -0
- machineconfig/cluster/sessions_managers/zellij_remote.py +229 -0
- machineconfig/cluster/sessions_managers/zellij_remote_manager.py +188 -0
- machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +64 -0
- machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +126 -0
- machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +334 -0
- machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +68 -0
- machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +119 -0
- machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +85 -0
- machineconfig/cluster/templates/cli_click.py +0 -1
- machineconfig/cluster/templates/cli_gooey.py +102 -104
- machineconfig/cluster/templates/run_cloud.py +51 -51
- machineconfig/cluster/templates/run_cluster.py +103 -59
- machineconfig/cluster/templates/run_remote.py +57 -58
- machineconfig/cluster/templates/utils.py +69 -36
- machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/linux/msc/lid.sh +2 -4
- machineconfig/jobs/linux/msc/network.sh +3 -6
- machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python/check_installations.py +258 -190
- machineconfig/jobs/python/create_bootable_media.py +7 -3
- machineconfig/jobs/python/python_cargo_build_share.py +50 -50
- machineconfig/jobs/python/python_ve_symlink.py +10 -10
- machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
- machineconfig/jobs/python/vscode/api.py +3 -3
- machineconfig/jobs/python/vscode/link_ve.py +6 -6
- machineconfig/jobs/python/vscode/select_interpreter.py +13 -9
- machineconfig/jobs/python/vscode/sync_code.py +14 -11
- machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python_custom_installers/archive/ngrok.py +5 -5
- machineconfig/jobs/python_custom_installers/dev/aider.py +4 -4
- machineconfig/jobs/python_custom_installers/dev/alacritty.py +7 -6
- machineconfig/jobs/python_custom_installers/dev/brave.py +11 -7
- machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +7 -8
- machineconfig/jobs/python_custom_installers/dev/code.py +7 -5
- machineconfig/jobs/python_custom_installers/dev/cursor.py +66 -5
- machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +4 -5
- machineconfig/jobs/python_custom_installers/dev/espanso.py +21 -17
- machineconfig/jobs/python_custom_installers/dev/goes.py +6 -12
- machineconfig/jobs/python_custom_installers/dev/lvim.py +7 -6
- machineconfig/jobs/python_custom_installers/dev/nerdfont.py +5 -5
- machineconfig/jobs/python_custom_installers/dev/redis.py +11 -7
- machineconfig/jobs/python_custom_installers/dev/wezterm.py +12 -8
- machineconfig/jobs/python_custom_installers/dev/winget.py +194 -0
- machineconfig/jobs/python_custom_installers/{dev/docker.py → docker.py} +12 -7
- machineconfig/jobs/python_custom_installers/gh.py +10 -9
- machineconfig/jobs/python_custom_installers/hx.py +36 -65
- machineconfig/jobs/python_custom_installers/scripts/linux/brave.sh +4 -8
- machineconfig/jobs/python_custom_installers/scripts/linux/docker.sh +5 -10
- machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +3 -6
- machineconfig/jobs/python_custom_installers/scripts/linux/edge.sh +3 -6
- machineconfig/jobs/python_custom_installers/scripts/linux/nerdfont.sh +5 -10
- machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +4 -8
- machineconfig/jobs/python_custom_installers/scripts/linux/redis.sh +5 -10
- machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +6 -12
- machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +101 -33
- machineconfig/jobs/python_custom_installers/scripts/linux/warp-cli.sh +5 -10
- machineconfig/jobs/python_custom_installers/scripts/linux/wezterm.sh +3 -6
- machineconfig/jobs/python_custom_installers/{dev/warp-cli.py → warp-cli.py} +5 -5
- machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python_generic_installers/config.json +133 -9
- machineconfig/jobs/python_generic_installers/dev/config.json +208 -37
- machineconfig/jobs/python_generic_installers/update.py +3 -0
- machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/jobs/python_linux_installers/config.json +42 -6
- machineconfig/jobs/python_linux_installers/dev/config.json +79 -11
- machineconfig/jobs/python_windows_installers/config.json +6 -0
- machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
- machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
- machineconfig/profile/create.py +5 -5
- machineconfig/profile/create_hardlinks.py +5 -5
- machineconfig/profile/shell.py +69 -63
- machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/scripts/cloud/init.sh +9 -18
- machineconfig/scripts/linux/fire +5 -24
- machineconfig/scripts/linux/fire_agents +27 -0
- machineconfig/scripts/linux/share_cloud.sh +6 -12
- machineconfig/scripts/linux/wifi_conn +24 -0
- machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
- machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
- machineconfig/scripts/python/archive/im2text.py +28 -30
- machineconfig/scripts/python/archive/tmate_conn.py +10 -13
- machineconfig/scripts/python/archive/tmate_start.py +12 -16
- machineconfig/scripts/python/choose_wezterm_theme.py +12 -21
- machineconfig/scripts/python/cloud_copy.py +49 -104
- machineconfig/scripts/python/cloud_manager.py +77 -91
- machineconfig/scripts/python/cloud_mount.py +36 -46
- machineconfig/scripts/python/cloud_repo_sync.py +33 -79
- machineconfig/scripts/python/cloud_sync.py +35 -45
- machineconfig/scripts/python/croshell.py +70 -92
- machineconfig/scripts/python/devops.py +54 -113
- machineconfig/scripts/python/devops_add_identity.py +71 -109
- machineconfig/scripts/python/devops_add_ssh_key.py +42 -149
- machineconfig/scripts/python/devops_backup_retrieve.py +31 -119
- machineconfig/scripts/python/devops_devapps_install.py +6 -10
- machineconfig/scripts/python/devops_update_repos.py +5 -4
- machineconfig/scripts/python/dotfile.py +10 -7
- machineconfig/scripts/python/fire_agents.py +69 -0
- machineconfig/scripts/python/fire_jobs.py +117 -78
- machineconfig/scripts/python/ftpx.py +8 -8
- machineconfig/scripts/python/get_zellij_cmd.py +3 -3
- machineconfig/scripts/python/gh_models.py +6 -4
- machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
- machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
- machineconfig/scripts/python/helpers/cloud_helpers.py +49 -46
- machineconfig/scripts/python/helpers/helpers2.py +26 -39
- machineconfig/scripts/python/helpers/helpers4.py +23 -35
- machineconfig/scripts/python/helpers/repo_sync_helpers.py +33 -67
- machineconfig/scripts/python/mount_nfs.py +8 -11
- machineconfig/scripts/python/mount_nw_drive.py +4 -4
- machineconfig/scripts/python/mount_ssh.py +2 -2
- machineconfig/scripts/python/onetimeshare.py +56 -57
- machineconfig/scripts/python/pomodoro.py +55 -55
- machineconfig/scripts/python/repos.py +72 -49
- machineconfig/scripts/python/scheduler.py +70 -53
- machineconfig/scripts/python/snapshot.py +21 -24
- machineconfig/scripts/python/start_slidev.py +6 -5
- machineconfig/scripts/python/start_terminals.py +3 -1
- machineconfig/scripts/python/viewer.py +5 -4
- machineconfig/scripts/python/viewer_template.py +138 -140
- machineconfig/scripts/python/wifi_conn.py +416 -62
- machineconfig/scripts/python/wsl_windows_transfer.py +18 -3
- machineconfig/scripts/windows/fire.ps1 +27 -15
- machineconfig/settings/linters/.pylintrc +6 -7
- machineconfig/settings/lvim/windows/config.lua +0 -0
- machineconfig/settings/shells/bash/init.sh +6 -0
- machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +7 -6
- machineconfig/settings/shells/pwsh/init.ps1 +6 -6
- machineconfig/settings/shells/wt/settings.json +51 -266
- machineconfig/setup_linux/nix/cli_installation.sh +9 -18
- machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +3 -6
- machineconfig/setup_linux/web_shortcuts/all.sh +5 -10
- machineconfig/setup_linux/web_shortcuts/ascii_art.sh +7 -14
- machineconfig/setup_linux/web_shortcuts/croshell.sh +6 -12
- machineconfig/setup_linux/web_shortcuts/interactive.sh +39 -70
- machineconfig/setup_linux/web_shortcuts/ssh.sh +8 -16
- machineconfig/setup_linux/web_shortcuts/update_system.sh +7 -14
- machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +3 -6
- machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +27 -21
- machineconfig/utils/ai/browser_user_wrapper.py +60 -45
- machineconfig/utils/ai/generate_file_checklist.py +4 -7
- machineconfig/utils/ai/url2md.py +15 -7
- machineconfig/utils/cloud/onedrive/setup_oauth.py +59 -0
- machineconfig/utils/cloud/onedrive/transaction.py +796 -0
- machineconfig/utils/{utils_code.py → code.py} +25 -22
- machineconfig/utils/installer.py +81 -44
- machineconfig/utils/installer_utils/installer_abc.py +7 -6
- machineconfig/utils/installer_utils/installer_class.py +44 -25
- machineconfig/utils/io_save.py +107 -0
- machineconfig/utils/{utils_links.py → links.py} +28 -35
- machineconfig/utils/{utils_options.py → options.py} +14 -28
- machineconfig/utils/path.py +112 -0
- machineconfig/utils/path_reduced.py +608 -0
- machineconfig/utils/procs.py +134 -73
- machineconfig/utils/scheduling.py +312 -222
- machineconfig/utils/utils.py +19 -26
- machineconfig/utils/utils2.py +42 -0
- machineconfig/utils/utils5.py +84 -0
- machineconfig/utils/ve.py +49 -103
- {machineconfig-1.94.dist-info → machineconfig-1.96.dist-info}/METADATA +5 -3
- machineconfig-1.96.dist-info/RECORD +437 -0
- {machineconfig-1.94.dist-info → machineconfig-1.96.dist-info}/WHEEL +1 -1
- machineconfig/cluster/session_managers.py +0 -183
- machineconfig/cluster/templates/f.py +0 -4
- machineconfig/jobs/python/__pycache__/check_installations.cpython-311.pyc +0 -0
- machineconfig/jobs/python/__pycache__/checkout_version.cpython-311.pyc +0 -0
- machineconfig/jobs/python/__pycache__/python_ve_symlink.cpython-311.pyc +0 -0
- machineconfig/jobs/python/checkout_version.py +0 -123
- machineconfig/jobs/python/vscode/__pycache__/api.cpython-311.pyc +0 -0
- machineconfig/jobs/python/vscode/__pycache__/link_ve.cpython-311.pyc +0 -0
- machineconfig/jobs/python_custom_installers/__pycache__/hx.cpython-311.pyc +0 -0
- machineconfig/jobs/python_windows_installers/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/scripts/python/.mypy_cache/.gitignore +0 -2
- machineconfig/scripts/python/.mypy_cache/3.11/@plugins_snapshot.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/__future__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/__future__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_ast.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_ast.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_bz2.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_bz2.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_codecs.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_codecs.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_compression.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_compression.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_decimal.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_decimal.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_io.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_io.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_locale.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_locale.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_stat.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_stat.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_struct.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_struct.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_thread.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_thread.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_warnings.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_warnings.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_weakref.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_weakref.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/argparse.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/argparse.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/ast.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/ast.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/binascii.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/binascii.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/builtins.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/builtins.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/bz2.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/bz2.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/calendar.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/calendar.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/codecs.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/codecs.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/configparser.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/configparser.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/contextlib.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/contextlib.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/datetime.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/datetime.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/decimal.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/decimal.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/dis.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/dis.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/charset.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/charset.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/errors.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/errors.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/header.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/header.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/message.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/message.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/policy.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/email/policy.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/enum.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/enum.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/functools.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/functools.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/gc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/gc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/genericpath.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/genericpath.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/getpass.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/getpass.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/compat.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/compat.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/config.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/config.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/db.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/db.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/diff.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/diff.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/exc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/exc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/remote.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/remote.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/types.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/types.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/util.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/git/util.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/glob.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/glob.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/gzip.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/gzip.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/inspect.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/inspect.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/io.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/io.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/itertools.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/itertools.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/locale.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/locale.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/mmap.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/mmap.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/numbers.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/numbers.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/opcode.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/opcode.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/os/path.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/os/path.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/pathlib.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/pathlib.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/platform.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/platform.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/posixpath.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/posixpath.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/re.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/re.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/resource.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/resource.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/shlex.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/shlex.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/shutil.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/shutil.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/signal.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/signal.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/stat.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/stat.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/string.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/string.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/struct.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/struct.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/subprocess.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/subprocess.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/tarfile.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/tarfile.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/tempfile.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/tempfile.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/textwrap.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/textwrap.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/threading.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/threading.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/time.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/time.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/types.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/types.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/typing.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/typing.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/uuid.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/uuid.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/warnings.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/warnings.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/weakref.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/weakref.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/zlib.data.json +0 -1
- machineconfig/scripts/python/.mypy_cache/3.11/zlib.meta.json +0 -1
- machineconfig/scripts/python/.mypy_cache/CACHEDIR.TAG +0 -3
- machineconfig/scripts/python/__pycache__/cloud_repo_sync.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/gh_models.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/url2md.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/viewer.cpython-311.pyc +0 -0
- machineconfig/scripts/python/__pycache__/vscode_api.cpython-311.pyc +0 -0
- machineconfig/settings/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/settings/linters/.ruff_cache/.gitignore +0 -2
- machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +0 -1
- machineconfig/settings/shells/ipy/profiles/default/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/__init__.cpython-311.pyc +0 -0
- machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/playext.cpython-311.pyc +0 -0
- machineconfig/utils/utils_path.py +0 -151
- machineconfig/utils/ve_utils/ve1.py +0 -111
- machineconfig/utils/ve_utils/ve2.py +0 -142
- machineconfig-1.94.dist-info/RECORD +0 -710
- {machineconfig-1.94.dist-info → machineconfig-1.96.dist-info}/top_level.txt +0 -0
|
@@ -3,28 +3,32 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
from machineconfig.utils.utils import PROGRAM_PATH, choose_one_option
|
|
6
|
-
from
|
|
6
|
+
from machineconfig.utils.utils2 import read_ini
|
|
7
|
+
from machineconfig.utils.path_reduced import P as PathExtended
|
|
7
8
|
|
|
8
9
|
import platform
|
|
9
10
|
import argparse
|
|
10
11
|
from typing import Optional
|
|
12
|
+
from rich.console import Console
|
|
13
|
+
from rich.panel import Panel
|
|
14
|
+
|
|
15
|
+
console = Console()
|
|
11
16
|
|
|
12
17
|
|
|
13
18
|
DEFAULT_MOUNT = "~/data/rclone"
|
|
14
19
|
|
|
15
20
|
|
|
16
21
|
def get_rclone_config():
|
|
17
|
-
if platform.system() == "Windows": config =
|
|
18
|
-
elif platform.system()
|
|
22
|
+
if platform.system() == "Windows": config = read_ini(PathExtended.home().joinpath("AppData/Roaming/rclone/rclone.conf"))
|
|
23
|
+
elif platform.system() in ["Linux", "Darwin"]: config = read_ini(PathExtended.home().joinpath(".config/rclone/rclone.conf"))
|
|
19
24
|
else: raise ValueError("unsupported platform")
|
|
20
25
|
return config
|
|
21
26
|
|
|
22
27
|
|
|
23
28
|
def get_mprocs_mount_txt(cloud: str, rclone_cmd: str, cloud_brand: str): # cloud_brand = config[cloud]["type"]
|
|
24
|
-
# config = Read.ini(P.home().joinpath(".config/rclone/rclone.conf"))
|
|
25
29
|
header = f"{' ' + cloud + ' | ' + cloud_brand + ' '}".center(50, "=")
|
|
26
30
|
if platform.system() == "Windows":
|
|
27
|
-
sub_text_path =
|
|
31
|
+
sub_text_path = PathExtended.tmpfile(suffix=".ps1").write_text(f"""
|
|
28
32
|
echo "{header}"
|
|
29
33
|
iex 'rclone about {cloud}:'
|
|
30
34
|
echo 'See {DEFAULT_MOUNT}/{cloud} for the mounted cloud'
|
|
@@ -42,11 +46,9 @@ mprocs "echo 'see {DEFAULT_MOUNT}/{cloud} for the mounted cloud'; rclone about {
|
|
|
42
46
|
|
|
43
47
|
|
|
44
48
|
def mount(cloud: Optional[str], network: Optional[str], destination: Optional[str]) -> None:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
╚{'═' * 70}╝
|
|
49
|
-
""")
|
|
49
|
+
# draw header box dynamically
|
|
50
|
+
title = "☁️ Cloud Mount Utility"
|
|
51
|
+
console.print(Panel(title, title_align="left", border_style="blue"))
|
|
50
52
|
|
|
51
53
|
config = get_rclone_config()
|
|
52
54
|
if cloud is None:
|
|
@@ -57,30 +59,25 @@ def mount(cloud: Optional[str], network: Optional[str], destination: Optional[st
|
|
|
57
59
|
|
|
58
60
|
if network is None:
|
|
59
61
|
if destination is None:
|
|
60
|
-
mount_loc =
|
|
62
|
+
mount_loc = PathExtended(DEFAULT_MOUNT).expanduser().joinpath(cloud)
|
|
61
63
|
else:
|
|
62
|
-
mount_loc =
|
|
64
|
+
mount_loc = PathExtended(destination)
|
|
63
65
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
│ 📂 Mount location: {mount_loc} │
|
|
67
|
-
╰{'─' * 70}╯
|
|
68
|
-
""")
|
|
66
|
+
mount_info = f"📂 Mount location: {mount_loc}"
|
|
67
|
+
console.print(Panel(mount_info, border_style="blue"))
|
|
69
68
|
|
|
70
69
|
if platform.system() == "Windows":
|
|
71
70
|
print("🪟 Creating mount directory on Windows...")
|
|
72
|
-
mount_loc.parent.
|
|
73
|
-
elif platform.system()
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
mount_loc.parent.mkdir(parents=True, exist_ok=True)
|
|
72
|
+
elif platform.system() in ["Linux", "Darwin"]:
|
|
73
|
+
system_name = "Linux" if platform.system() == "Linux" else "macOS"
|
|
74
|
+
print(f"🐧 Creating mount directory on {system_name}...")
|
|
75
|
+
try: mount_loc.mkdir(parents=True, exist_ok=True)
|
|
76
76
|
except (FileExistsError, OSError) as err:
|
|
77
77
|
# We need a umount command here.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
│ {err}
|
|
82
|
-
╰{'─' * 70}╯
|
|
83
|
-
""")
|
|
78
|
+
warning_line = "⚠️ WARNING: Mount directory issue"
|
|
79
|
+
err_line = f"{err}"
|
|
80
|
+
console.print(Panel(f"{warning_line}\n{err_line}", title="Warning", border_style="yellow"))
|
|
84
81
|
pass
|
|
85
82
|
else: raise ValueError("unsupported platform")
|
|
86
83
|
|
|
@@ -90,12 +87,7 @@ def mount(cloud: Optional[str], network: Optional[str], destination: Optional[st
|
|
|
90
87
|
else: raise ValueError("network mount only supported on windows")
|
|
91
88
|
|
|
92
89
|
mount_cmd = f"rclone mount {cloud}: {mount_loc} --vfs-cache-mode full --file-perms=0777"
|
|
93
|
-
print(f"""
|
|
94
|
-
╭{'─' * 70}╮
|
|
95
|
-
│ 🚀 Preparing mount command: │
|
|
96
|
-
│ {mount_cmd}
|
|
97
|
-
╰{'─' * 70}╯
|
|
98
|
-
""")
|
|
90
|
+
console.print(Panel(f"🚀 Preparing mount command:\n{mount_cmd}", border_style="blue"))
|
|
99
91
|
|
|
100
92
|
# txt = get_mprocs_mount_txt(cloud, mount_cmd)
|
|
101
93
|
if platform.system() == "Windows":
|
|
@@ -103,7 +95,7 @@ def mount(cloud: Optional[str], network: Optional[str], destination: Optional[st
|
|
|
103
95
|
txt = f"""
|
|
104
96
|
wt --window 0 --profile "Windows PowerShell" --startingDirectory "$HOME/data/rclone" `; split-pane --horizontal --profile "Command Prompt" --size 0.2 powershell -Command "{mount_cmd}" `; split-pane --vertical --profile "Windows PowerShell" --size 0.2 powershell -NoExit -Command "rclone about {cloud}:" `; move-focus up
|
|
105
97
|
"""
|
|
106
|
-
elif platform.system()
|
|
98
|
+
elif platform.system() in ["Linux", "Darwin"]: txt = f"""
|
|
107
99
|
|
|
108
100
|
ZJ_SESSIONS=$(zellij list-sessions)
|
|
109
101
|
|
|
@@ -126,6 +118,8 @@ sleep 0.1; zellij action resize decrease up
|
|
|
126
118
|
sleep 0.1; zellij action resize decrease up
|
|
127
119
|
sleep 0.1; zellij action resize decrease up
|
|
128
120
|
sleep 0.1; zellij action resize decrease up
|
|
121
|
+
sleep 0.1; zellij action resize decrease up
|
|
122
|
+
sleep 0.1; zellij action resize decrease up
|
|
129
123
|
zellij run --direction right --name about -- rclone about {cloud}:
|
|
130
124
|
zellij action move-focus up
|
|
131
125
|
# zellij action write-chars "cd $HOME/data/rclone/{cloud}; sleep 0.1; ls"
|
|
@@ -137,27 +131,23 @@ zellij action move-focus up
|
|
|
137
131
|
else: raise ValueError("unsupported platform")
|
|
138
132
|
# print(f"running command: \n{txt}")
|
|
139
133
|
PROGRAM_PATH.write_text(txt)
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
╚{'═' * 70}╝
|
|
145
|
-
""")
|
|
134
|
+
# draw success box dynamically
|
|
135
|
+
title1 = "✅ Cloud mount command prepared successfully"
|
|
136
|
+
title2 = "🔄 Running mount process..."
|
|
137
|
+
console.print(Panel(f"{title1}\n{title2}", title="Success", border_style="green"))
|
|
146
138
|
|
|
147
139
|
|
|
148
140
|
def main():
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
╚{'═' * 70}╝
|
|
153
|
-
""")
|
|
141
|
+
# draw main title box dynamically
|
|
142
|
+
main_title = "☁️ RCLONE CLOUD MOUNT"
|
|
143
|
+
console.print(Panel(main_title, title_align="left", border_style="blue"))
|
|
154
144
|
|
|
155
145
|
parser = argparse.ArgumentParser(description='mount cloud')
|
|
156
146
|
parser.add_argument('cloud', nargs='?', type=str, default=None, help='cloud to mount')
|
|
157
147
|
parser.add_argument('destination', nargs='?', type=str, default=None, help='destination to mount')
|
|
158
148
|
parser.add_argument('--network', type=str, default=None, help='mount network drive')
|
|
159
149
|
args = parser.parse_args()
|
|
160
|
-
mount(cloud=args.
|
|
150
|
+
mount(cloud=args.cloud, network=args.network, destination=args.destination)
|
|
161
151
|
|
|
162
152
|
|
|
163
153
|
if __name__ == '__main__':
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
"""utils"""
|
|
2
2
|
|
|
3
3
|
import git
|
|
4
|
-
from
|
|
4
|
+
from machineconfig.utils.path_reduced import P as PathExtended
|
|
5
5
|
from crocodile.meta import Terminal
|
|
6
|
-
from
|
|
6
|
+
from machineconfig.utils.utils2 import randstr, read_ini
|
|
7
7
|
|
|
8
8
|
from machineconfig.scripts.python.helpers.repo_sync_helpers import fetch_dotfiles
|
|
9
|
-
from machineconfig.utils.utils import CONFIG_PATH, DEFAULTS_PATH, PROGRAM_PATH,
|
|
9
|
+
from machineconfig.utils.utils import CONFIG_PATH, DEFAULTS_PATH, PROGRAM_PATH, choose_one_option
|
|
10
|
+
from machineconfig.utils.code import get_shell_file_executing_python_script, write_shell_script_to_file
|
|
10
11
|
import platform
|
|
11
12
|
import argparse
|
|
12
13
|
from typing import Optional, Literal
|
|
14
|
+
from rich.console import Console
|
|
15
|
+
from rich.panel import Panel
|
|
16
|
+
# from rich.text import Text
|
|
17
|
+
|
|
18
|
+
console = Console()
|
|
13
19
|
|
|
14
20
|
_ = fetch_dotfiles
|
|
15
21
|
|
|
@@ -19,74 +25,43 @@ def main(cloud: Optional[str] = None, path: Optional[str] = None, message: Optio
|
|
|
19
25
|
pwd: Optional[str] = None):
|
|
20
26
|
if cloud is None:
|
|
21
27
|
try:
|
|
22
|
-
cloud_resolved =
|
|
23
|
-
print(f"""
|
|
24
|
-
╭{'─' * 70}╮
|
|
25
|
-
│ ⚠️ Using default cloud: `{cloud_resolved}` from {DEFAULTS_PATH} │
|
|
26
|
-
╰{'─' * 70}╯
|
|
27
|
-
""")
|
|
28
|
+
cloud_resolved = read_ini(DEFAULTS_PATH)['general']['rclone_config_name']
|
|
29
|
+
console.print(Panel(f"⚠️ Using default cloud: `{cloud_resolved}` from {DEFAULTS_PATH}", title="Default Cloud", border_style="yellow"))
|
|
28
30
|
except FileNotFoundError:
|
|
29
|
-
print(f"""
|
|
30
|
-
╔{'═' * 70}╗
|
|
31
|
-
║ ❌ ERROR: No cloud profile found ║
|
|
32
|
-
╠{'═' * 70}╣
|
|
33
|
-
║ Location: {DEFAULTS_PATH}
|
|
34
|
-
║ Please set one up or provide one via the --cloud flag. ║
|
|
35
|
-
╚{'═' * 70}╝
|
|
36
|
-
""")
|
|
31
|
+
console.print(Panel(f"❌ ERROR: No cloud profile found\nLocation: {DEFAULTS_PATH}\nPlease set one up or provide one via the --cloud flag.", title="Error", border_style="red"))
|
|
37
32
|
return ""
|
|
38
33
|
else: cloud_resolved = cloud
|
|
39
34
|
|
|
40
|
-
# repo_root =
|
|
41
|
-
repo_local_root =
|
|
35
|
+
# repo_root = PathExtended(args.repo).expanduser().absolute()
|
|
36
|
+
repo_local_root = PathExtended.cwd() if path is None else PathExtended(path).expanduser().absolute()
|
|
42
37
|
repo_local_obj = git.Repo(repo_local_root, search_parent_directories=True)
|
|
43
|
-
repo_local_root =
|
|
44
|
-
CONFIG_PATH.joinpath("remote").
|
|
38
|
+
repo_local_root = PathExtended(repo_local_obj.working_dir) # cwd might have been in a sub directory of repo_root, so its better to redefine it.
|
|
39
|
+
CONFIG_PATH.joinpath("remote").mkdir(parents=True, exist_ok=True)
|
|
45
40
|
repo_remote_root = CONFIG_PATH.joinpath("remote", repo_local_root.rel2home()) # .delete(sure=True)
|
|
46
41
|
|
|
47
42
|
try:
|
|
48
|
-
print(
|
|
49
|
-
╔{'═' * 70}╗
|
|
50
|
-
║ 📥 DOWNLOADING REMOTE REPOSITORY ║
|
|
51
|
-
╚{'═' * 70}╝
|
|
52
|
-
""")
|
|
43
|
+
console.print(Panel("📥 DOWNLOADING REMOTE REPOSITORY", title_align="left", border_style="blue"))
|
|
53
44
|
remote_path = repo_local_root.get_remote_path(rel2home=True, os_specific=False, root="myhome") + ".zip.enc"
|
|
54
45
|
repo_remote_root.from_cloud(remotepath=remote_path, cloud=cloud_resolved, unzip=True, decrypt=True, rel2home=True, os_specific=False, pwd=pwd)
|
|
55
46
|
except AssertionError:
|
|
56
|
-
print(
|
|
57
|
-
╔{'═' * 70}╗
|
|
58
|
-
║ 🆕 Remote repository doesn't exist ║
|
|
59
|
-
║ 📤 Creating new remote and exiting... ║
|
|
60
|
-
╚{'═' * 70}╝
|
|
61
|
-
""")
|
|
47
|
+
console.print(Panel("🆕 Remote repository doesn't exist\n📤 Creating new remote and exiting...", title_align="left", border_style="green"))
|
|
62
48
|
repo_local_root.to_cloud(cloud=cloud_resolved, zip=True, encrypt=True, rel2home=True, pwd=pwd, os_specific=False)
|
|
63
49
|
return ""
|
|
64
50
|
|
|
65
51
|
repo_remote_obj = git.Repo(repo_remote_root)
|
|
66
52
|
if repo_remote_obj.is_dirty():
|
|
67
|
-
print(f"""
|
|
68
|
-
╔{'═' * 70}╗
|
|
69
|
-
║ ⚠️ WARNING: REMOTE REPOSITORY IS DIRTY ║
|
|
70
|
-
╠{'═' * 70}╣
|
|
71
|
-
║ Location: {repo_remote_root}
|
|
72
|
-
║ Please commit or stash changes before proceeding. ║
|
|
73
|
-
╚{'═' * 70}╝
|
|
74
|
-
""")
|
|
53
|
+
console.print(Panel(f"⚠️ WARNING: REMOTE REPOSITORY IS DIRTY\nLocation: {repo_remote_root}\nPlease commit or stash changes before proceeding.", title="Warning", border_style="yellow"))
|
|
75
54
|
|
|
76
55
|
script = f"""
|
|
77
56
|
echo ""
|
|
78
|
-
echo
|
|
79
|
-
echo "║ 💾 COMMITTING LOCAL CHANGES ║"
|
|
80
|
-
echo "╚{'═' * 70}╝"
|
|
57
|
+
echo 'echo -e "\\033[1;34m═════ COMMITTING LOCAL CHANGES ═════\\033[0m"'
|
|
81
58
|
cd {repo_local_root}
|
|
82
59
|
git status
|
|
83
60
|
git add .
|
|
84
61
|
git commit -am "{message}"
|
|
85
62
|
echo ""
|
|
86
63
|
echo ""
|
|
87
|
-
echo
|
|
88
|
-
echo "║ 🔄 PULLING LATEST FROM REMOTE ║"
|
|
89
|
-
echo "╚{'═' * 70}╝"
|
|
64
|
+
echo 'echo -e "\\033[1;34m═════ PULLING LATEST FROM REMOTE ═════\\033[0m"'
|
|
90
65
|
cd {repo_local_root}
|
|
91
66
|
echo '-> Trying to removing originEnc remote from local repo if it exists.'
|
|
92
67
|
# git remote remove originEnc
|
|
@@ -102,33 +77,20 @@ git pull originEnc master
|
|
|
102
77
|
res = Terminal().run(f". {shell_path}", shell="powershell").capture().print()
|
|
103
78
|
|
|
104
79
|
if res.is_successful(strict_err=True, strict_returcode=True):
|
|
105
|
-
print(
|
|
106
|
-
╔{'═' * 70}╗
|
|
107
|
-
║ ✅ Pull succeeded! ║
|
|
108
|
-
╠{'═' * 70}╣
|
|
109
|
-
║ 🧹 Removing originEnc remote and local copy ║
|
|
110
|
-
║ 📤 Pushing merged repository to cloud storage ║
|
|
111
|
-
╚{'═' * 70}╝
|
|
112
|
-
""")
|
|
80
|
+
console.print(Panel("✅ Pull succeeded!\n🧹 Removing originEnc remote and local copy\n📤 Pushing merged repository to cloud storage", title="Success", border_style="green"))
|
|
113
81
|
repo_remote_root.delete(sure=True)
|
|
114
82
|
from git.remote import Remote
|
|
115
83
|
Remote.remove(repo_local_obj, "originEnc")
|
|
116
84
|
repo_local_root.to_cloud(cloud=cloud_resolved, zip=True, encrypt=True, rel2home=True, pwd=pwd, os_specific=False)
|
|
85
|
+
return "success"
|
|
117
86
|
else:
|
|
118
|
-
print(f"""
|
|
119
|
-
╔{'═' * 70}╗
|
|
120
|
-
║ ⚠️ MERGE FAILED ║
|
|
121
|
-
╠{'═' * 70}╣
|
|
122
|
-
║ 💾 Keeping local copy of remote at: ║
|
|
123
|
-
║ 📂 {repo_remote_root}
|
|
124
|
-
╚{'═' * 70}╝
|
|
125
|
-
""")
|
|
87
|
+
console.print(Panel(f"⚠️ MERGE FAILED\n💾 Keeping local copy of remote at:\n📂 {repo_remote_root}", title="Merge Failed", border_style="red"))
|
|
126
88
|
|
|
127
89
|
# ================================================================================
|
|
128
90
|
option1 = 'Delete remote copy and push local:'
|
|
129
91
|
program_1_py = f"""
|
|
130
|
-
from machineconfig.scripts.python.
|
|
131
|
-
func(remote_repo=r'{repo_remote_root
|
|
92
|
+
from machineconfig.scripts.python.helpers.repo_sync_helpers import delete_remote_repo_copy_and_push_local as func
|
|
93
|
+
func(remote_repo=r'{str(repo_remote_root)}', local_repo=r'{str(repo_local_root)}', cloud=r'{cloud_resolved}')
|
|
132
94
|
"""
|
|
133
95
|
shell_file_1 = get_shell_file_executing_python_script(python_script=program_1_py, ve_name="ve")
|
|
134
96
|
# ================================================================================
|
|
@@ -138,7 +100,7 @@ func(remote_repo=r'{repo_remote_root.to_str()}', local_repo=r'{repo_local_root.t
|
|
|
138
100
|
rm -rfd {repo_local_root}
|
|
139
101
|
mv {repo_remote_root} {repo_local_root}
|
|
140
102
|
"""
|
|
141
|
-
if platform.system()
|
|
103
|
+
if platform.system() in ["Linux", "Darwin"]: program_2 += """
|
|
142
104
|
sudo chmod 600 $HOME/.ssh/*
|
|
143
105
|
sudo chmod 700 $HOME/.ssh
|
|
144
106
|
sudo chmod +x $HOME/dotfiles/scripts/linux -R
|
|
@@ -149,8 +111,8 @@ sudo chmod +x $HOME/dotfiles/scripts/linux -R
|
|
|
149
111
|
# ================================================================================
|
|
150
112
|
option3 = 'Inspect repos:'
|
|
151
113
|
program_3_py = f"""
|
|
152
|
-
from machineconfig.scripts.python.
|
|
153
|
-
func(repo_local_root=r'{repo_local_root
|
|
114
|
+
from machineconfig.scripts.python.helper.repo_sync_helpers import inspect_repos as func
|
|
115
|
+
func(repo_local_root=r'{str(repo_local_root)}', repo_remote_root=r'{str(repo_remote_root)}')
|
|
154
116
|
"""
|
|
155
117
|
shell_file_3 = get_shell_file_executing_python_script(python_script=program_3_py, ve_name="ve")
|
|
156
118
|
# ================================================================================
|
|
@@ -166,13 +128,7 @@ git commit -am "finished merging"
|
|
|
166
128
|
shell_file_4 = write_shell_script_to_file(shell_script=program_4)
|
|
167
129
|
# ================================================================================
|
|
168
130
|
|
|
169
|
-
print(
|
|
170
|
-
╔{'═' * 70}╗
|
|
171
|
-
║ 🔄 RESOLVE MERGE CONFLICT ║
|
|
172
|
-
╠{'═' * 70}╣
|
|
173
|
-
║ Choose an option to resolve the conflict: ║
|
|
174
|
-
╚{'═' * 70}╝
|
|
175
|
-
""")
|
|
131
|
+
console.print(Panel("🔄 RESOLVE MERGE CONFLICT\nChoose an option to resolve the conflict:", title_align="left", border_style="blue"))
|
|
176
132
|
|
|
177
133
|
print(f"• 1️⃣ {option1:75} 👉 {shell_file_1}")
|
|
178
134
|
print(f"• 2️⃣ {option2:75} 👉 {shell_file_2}")
|
|
@@ -192,15 +148,13 @@ git commit -am "finished merging"
|
|
|
192
148
|
case "overwriteLocal": program_content = program_2
|
|
193
149
|
case "InspectRepos": program_content = shell_file_3.read_text()
|
|
194
150
|
case "RemoveLocalRclone": program_content = program_4
|
|
151
|
+
case _:
|
|
152
|
+
raise ValueError(f"Unknown action: {action}")
|
|
195
153
|
PROGRAM_PATH.write_text(program_content)
|
|
196
154
|
return program_content
|
|
197
155
|
|
|
198
156
|
def args_parser():
|
|
199
|
-
print(
|
|
200
|
-
╔{'═' * 70}╗
|
|
201
|
-
║ 🔄 Repository Synchronization Utility ║
|
|
202
|
-
╚{'═' * 70}╝
|
|
203
|
-
""")
|
|
157
|
+
console.print(Panel("🔄 Repository Synchronization Utility", title_align="left", border_style="blue"))
|
|
204
158
|
|
|
205
159
|
parser = argparse.ArgumentParser(description="Secure Repo CLI.")
|
|
206
160
|
# parser.add_argument("cmd", help="command to run", choices=["pull", "push"])
|
|
@@ -7,39 +7,35 @@ from machineconfig.scripts.python.helpers.cloud_helpers import Args
|
|
|
7
7
|
from machineconfig.scripts.python.cloud_mount import get_mprocs_mount_txt
|
|
8
8
|
from machineconfig.utils.utils import PROGRAM_PATH
|
|
9
9
|
import argparse
|
|
10
|
+
from rich.console import Console
|
|
11
|
+
from rich.panel import Panel
|
|
12
|
+
|
|
13
|
+
console = Console()
|
|
10
14
|
|
|
11
15
|
|
|
12
16
|
def args_parser():
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
║ ☁️ Cloud Sync Utility ║
|
|
16
|
-
╚{'═' * 70}╝
|
|
17
|
-
""")
|
|
18
|
-
|
|
17
|
+
title = "☁️ Cloud Sync Utility"
|
|
18
|
+
console.print(Panel(title, title_align="left", border_style="blue"))
|
|
19
19
|
parser = argparse.ArgumentParser(description="""A wrapper for rclone sync and rclone bisync, with some extra features.""")
|
|
20
|
-
|
|
21
20
|
parser.add_argument("source", help="source", default=None)
|
|
22
21
|
parser.add_argument("target", help="target", default=None)
|
|
23
|
-
|
|
24
22
|
parser.add_argument("--transfers", "-t", help="Number of threads in syncing.", default=10) # default is False
|
|
25
23
|
parser.add_argument("--root", "-R", help="Remote root.", default="myhome") # default is False
|
|
26
|
-
|
|
27
24
|
parser.add_argument("--key", "-k", help="Key for encryption", default=None)
|
|
28
25
|
parser.add_argument("--pwd", "-P", help="Password for encryption", default=None)
|
|
29
26
|
parser.add_argument("--encrypt", "-e", help="Decrypt after receiving.", action="store_true") # default is False
|
|
30
27
|
parser.add_argument("--zip", "-z", help="unzip after receiving.", action="store_true") # default is False
|
|
31
|
-
|
|
32
28
|
parser.add_argument("--bisync", "-b", help="Bidirectional sync.", action="store_true") # default is False
|
|
33
29
|
parser.add_argument("--delete", "-D", help="Delete files in remote that are not in local.", action="store_true") # default is False
|
|
34
30
|
parser.add_argument("--verbose", "-v", help="Verbosity of mprocs to show details of syncing.", action="store_true") # default is False
|
|
35
31
|
|
|
36
32
|
args = parser.parse_args()
|
|
37
33
|
args_dict = vars(args)
|
|
38
|
-
source: str=args_dict.pop("source")
|
|
39
|
-
target: str=args_dict.pop("target")
|
|
40
|
-
verbose: bool=args_dict.pop("verbose")
|
|
41
|
-
delete: bool=args_dict.pop("delete")
|
|
42
|
-
bisync: bool=args_dict.pop("bisync")
|
|
34
|
+
source: str = args_dict.pop("source")
|
|
35
|
+
target: str = args_dict.pop("target")
|
|
36
|
+
verbose: bool = args_dict.pop("verbose")
|
|
37
|
+
delete: bool = args_dict.pop("delete")
|
|
38
|
+
bisync: bool = args_dict.pop("bisync")
|
|
43
39
|
transfers: int = args_dict.pop("transfers")
|
|
44
40
|
args_obj = Args(**args_dict)
|
|
45
41
|
|
|
@@ -49,42 +45,36 @@ def args_parser():
|
|
|
49
45
|
cloud, source, target = parse_cloud_source_target(args=args_obj, source=source, target=target)
|
|
50
46
|
# map short flags to long flags (-u -> --upload), for easier use in the script
|
|
51
47
|
if bisync:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
║ Source: {source}
|
|
57
|
-
║ Target: {target}
|
|
58
|
-
╚{'═' * 70}╝
|
|
59
|
-
""")
|
|
48
|
+
title = "🔄 BI-DIRECTIONAL SYNC"
|
|
49
|
+
source_line = f"Source: {source}"
|
|
50
|
+
target_line = f"Target: {target}"
|
|
51
|
+
console.print(Panel(f"{source_line}\n{target_line}", title=title, border_style="blue"))
|
|
60
52
|
rclone_cmd = f"""rclone bisync '{source}' '{target}' --resync"""
|
|
61
53
|
else:
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"""
|
|
71
|
-
rclone_cmd = f"""rclone sync '{source}' '{target}' """
|
|
54
|
+
title = "📤 ONE-WAY SYNC"
|
|
55
|
+
source_line = f"Source: {source}"
|
|
56
|
+
arrow_line = "↓"
|
|
57
|
+
target_line = f"Target: {target}"
|
|
58
|
+
console.print(Panel(f"{source_line}\n{arrow_line}\n{target_line}", title=title, border_style="blue"))
|
|
59
|
+
if delete:
|
|
60
|
+
rclone_cmd = f"rclone sync -P \"{source}\" \"{target}\" --delete-during --transfers={transfers}"
|
|
61
|
+
else:
|
|
62
|
+
rclone_cmd = f"rclone sync -P \"{source}\" \"{target}\" --transfers={transfers}"
|
|
72
63
|
|
|
73
64
|
rclone_cmd += f" --progress --transfers={transfers} --verbose"
|
|
74
65
|
# rclone_cmd += f" --vfs-cache-mode full"
|
|
75
|
-
if delete:
|
|
66
|
+
if delete:
|
|
67
|
+
rclone_cmd += " --delete-during"
|
|
68
|
+
|
|
69
|
+
if verbose:
|
|
70
|
+
txt = get_mprocs_mount_txt(cloud=cloud, rclone_cmd=rclone_cmd, cloud_brand="Unknown")
|
|
71
|
+
else:
|
|
72
|
+
txt = f"""{rclone_cmd}"""
|
|
73
|
+
|
|
74
|
+
title = "🚀 EXECUTING COMMAND"
|
|
75
|
+
cmd_line = f"{rclone_cmd[:65]}..."
|
|
76
|
+
console.print(Panel(f"{title}\n{cmd_line}", title="[bold blue]Command[/bold blue]", expand=False))
|
|
76
77
|
|
|
77
|
-
if verbose: txt = get_mprocs_mount_txt(cloud=cloud, rclone_cmd=rclone_cmd, cloud_brand="Unknown")
|
|
78
|
-
else: txt = f"""{rclone_cmd}"""
|
|
79
|
-
|
|
80
|
-
print(f"""
|
|
81
|
-
╔{'═' * 70}╗
|
|
82
|
-
║ 🚀 EXECUTING COMMAND ║
|
|
83
|
-
╠{'═' * 70}╣
|
|
84
|
-
║ {rclone_cmd[:65]}... ║
|
|
85
|
-
╚{'═' * 70}╝
|
|
86
|
-
""")
|
|
87
|
-
|
|
88
78
|
PROGRAM_PATH.write_text(txt)
|
|
89
79
|
|
|
90
80
|
|