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.

Files changed (529) hide show
  1. machineconfig/cluster/cloud_manager.py +445 -343
  2. machineconfig/cluster/data_transfer.py +63 -56
  3. machineconfig/cluster/distribute.py +284 -280
  4. machineconfig/cluster/file_manager.py +234 -237
  5. machineconfig/cluster/job_params.py +133 -133
  6. machineconfig/cluster/loader_runner.py +183 -149
  7. machineconfig/cluster/remote_machine.py +269 -252
  8. machineconfig/cluster/script_execution.py +215 -209
  9. machineconfig/cluster/script_notify_upon_completion.py +50 -43
  10. machineconfig/cluster/self_ssh.py +52 -54
  11. machineconfig/cluster/sessions_managers/__init__.py +0 -0
  12. machineconfig/cluster/sessions_managers/archive/__init__.py +0 -0
  13. machineconfig/{jobs/python → cluster/sessions_managers/archive}/create_zellij_template.py +5 -3
  14. machineconfig/cluster/sessions_managers/archive/session_managers.py +184 -0
  15. machineconfig/cluster/sessions_managers/demo_rich_zellij.py +0 -0
  16. machineconfig/cluster/sessions_managers/enhanced_command_runner.py +160 -0
  17. machineconfig/cluster/sessions_managers/wt_local.py +494 -0
  18. machineconfig/cluster/sessions_managers/wt_local_manager.py +577 -0
  19. machineconfig/cluster/sessions_managers/wt_remote.py +288 -0
  20. machineconfig/cluster/sessions_managers/wt_remote_manager.py +483 -0
  21. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +196 -0
  22. machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +418 -0
  23. machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +175 -0
  24. machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +300 -0
  25. machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +228 -0
  26. machineconfig/cluster/sessions_managers/zellij_local.py +418 -0
  27. machineconfig/cluster/sessions_managers/zellij_local_manager.py +533 -0
  28. machineconfig/cluster/sessions_managers/zellij_remote.py +229 -0
  29. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +188 -0
  30. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +64 -0
  31. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +126 -0
  32. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +334 -0
  33. machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +68 -0
  34. machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +119 -0
  35. machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +85 -0
  36. machineconfig/cluster/templates/cli_click.py +0 -1
  37. machineconfig/cluster/templates/cli_gooey.py +102 -104
  38. machineconfig/cluster/templates/run_cloud.py +51 -51
  39. machineconfig/cluster/templates/run_cluster.py +103 -59
  40. machineconfig/cluster/templates/run_remote.py +57 -58
  41. machineconfig/cluster/templates/utils.py +69 -36
  42. machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
  43. machineconfig/jobs/linux/msc/lid.sh +2 -4
  44. machineconfig/jobs/linux/msc/network.sh +3 -6
  45. machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
  46. machineconfig/jobs/python/check_installations.py +258 -190
  47. machineconfig/jobs/python/create_bootable_media.py +7 -3
  48. machineconfig/jobs/python/python_cargo_build_share.py +50 -50
  49. machineconfig/jobs/python/python_ve_symlink.py +10 -10
  50. machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
  51. machineconfig/jobs/python/vscode/api.py +3 -3
  52. machineconfig/jobs/python/vscode/link_ve.py +6 -6
  53. machineconfig/jobs/python/vscode/select_interpreter.py +13 -9
  54. machineconfig/jobs/python/vscode/sync_code.py +14 -11
  55. machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  56. machineconfig/jobs/python_custom_installers/archive/ngrok.py +5 -5
  57. machineconfig/jobs/python_custom_installers/dev/aider.py +4 -4
  58. machineconfig/jobs/python_custom_installers/dev/alacritty.py +7 -6
  59. machineconfig/jobs/python_custom_installers/dev/brave.py +11 -7
  60. machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +7 -8
  61. machineconfig/jobs/python_custom_installers/dev/code.py +7 -5
  62. machineconfig/jobs/python_custom_installers/dev/cursor.py +66 -5
  63. machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +4 -5
  64. machineconfig/jobs/python_custom_installers/dev/espanso.py +21 -17
  65. machineconfig/jobs/python_custom_installers/dev/goes.py +6 -12
  66. machineconfig/jobs/python_custom_installers/dev/lvim.py +7 -6
  67. machineconfig/jobs/python_custom_installers/dev/nerdfont.py +5 -5
  68. machineconfig/jobs/python_custom_installers/dev/redis.py +11 -7
  69. machineconfig/jobs/python_custom_installers/dev/wezterm.py +12 -8
  70. machineconfig/jobs/python_custom_installers/dev/winget.py +194 -0
  71. machineconfig/jobs/python_custom_installers/{dev/docker.py → docker.py} +12 -7
  72. machineconfig/jobs/python_custom_installers/gh.py +10 -9
  73. machineconfig/jobs/python_custom_installers/hx.py +36 -65
  74. machineconfig/jobs/python_custom_installers/scripts/linux/brave.sh +4 -8
  75. machineconfig/jobs/python_custom_installers/scripts/linux/docker.sh +5 -10
  76. machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +3 -6
  77. machineconfig/jobs/python_custom_installers/scripts/linux/edge.sh +3 -6
  78. machineconfig/jobs/python_custom_installers/scripts/linux/nerdfont.sh +5 -10
  79. machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +4 -8
  80. machineconfig/jobs/python_custom_installers/scripts/linux/redis.sh +5 -10
  81. machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +6 -12
  82. machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +101 -33
  83. machineconfig/jobs/python_custom_installers/scripts/linux/warp-cli.sh +5 -10
  84. machineconfig/jobs/python_custom_installers/scripts/linux/wezterm.sh +3 -6
  85. machineconfig/jobs/python_custom_installers/{dev/warp-cli.py → warp-cli.py} +5 -5
  86. machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  87. machineconfig/jobs/python_generic_installers/config.json +133 -9
  88. machineconfig/jobs/python_generic_installers/dev/config.json +208 -37
  89. machineconfig/jobs/python_generic_installers/update.py +3 -0
  90. machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  91. machineconfig/jobs/python_linux_installers/config.json +42 -6
  92. machineconfig/jobs/python_linux_installers/dev/config.json +79 -11
  93. machineconfig/jobs/python_windows_installers/config.json +6 -0
  94. machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
  95. machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
  96. machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
  97. machineconfig/profile/create.py +5 -5
  98. machineconfig/profile/create_hardlinks.py +5 -5
  99. machineconfig/profile/shell.py +69 -63
  100. machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  101. machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
  102. machineconfig/scripts/cloud/init.sh +9 -18
  103. machineconfig/scripts/linux/fire +5 -24
  104. machineconfig/scripts/linux/fire_agents +27 -0
  105. machineconfig/scripts/linux/share_cloud.sh +6 -12
  106. machineconfig/scripts/linux/wifi_conn +24 -0
  107. machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
  108. machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
  109. machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
  110. machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
  111. machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
  112. machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
  113. machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
  114. machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
  115. machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
  116. machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
  117. machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
  118. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
  119. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
  120. machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
  121. machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
  122. machineconfig/scripts/python/archive/im2text.py +28 -30
  123. machineconfig/scripts/python/archive/tmate_conn.py +10 -13
  124. machineconfig/scripts/python/archive/tmate_start.py +12 -16
  125. machineconfig/scripts/python/choose_wezterm_theme.py +12 -21
  126. machineconfig/scripts/python/cloud_copy.py +49 -104
  127. machineconfig/scripts/python/cloud_manager.py +77 -91
  128. machineconfig/scripts/python/cloud_mount.py +36 -46
  129. machineconfig/scripts/python/cloud_repo_sync.py +33 -79
  130. machineconfig/scripts/python/cloud_sync.py +35 -45
  131. machineconfig/scripts/python/croshell.py +70 -92
  132. machineconfig/scripts/python/devops.py +54 -113
  133. machineconfig/scripts/python/devops_add_identity.py +71 -109
  134. machineconfig/scripts/python/devops_add_ssh_key.py +42 -149
  135. machineconfig/scripts/python/devops_backup_retrieve.py +31 -119
  136. machineconfig/scripts/python/devops_devapps_install.py +6 -10
  137. machineconfig/scripts/python/devops_update_repos.py +5 -4
  138. machineconfig/scripts/python/dotfile.py +10 -7
  139. machineconfig/scripts/python/fire_agents.py +69 -0
  140. machineconfig/scripts/python/fire_jobs.py +117 -78
  141. machineconfig/scripts/python/ftpx.py +8 -8
  142. machineconfig/scripts/python/get_zellij_cmd.py +3 -3
  143. machineconfig/scripts/python/gh_models.py +6 -4
  144. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
  145. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
  146. machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
  147. machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
  148. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
  149. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
  150. machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
  151. machineconfig/scripts/python/helpers/cloud_helpers.py +49 -46
  152. machineconfig/scripts/python/helpers/helpers2.py +26 -39
  153. machineconfig/scripts/python/helpers/helpers4.py +23 -35
  154. machineconfig/scripts/python/helpers/repo_sync_helpers.py +33 -67
  155. machineconfig/scripts/python/mount_nfs.py +8 -11
  156. machineconfig/scripts/python/mount_nw_drive.py +4 -4
  157. machineconfig/scripts/python/mount_ssh.py +2 -2
  158. machineconfig/scripts/python/onetimeshare.py +56 -57
  159. machineconfig/scripts/python/pomodoro.py +55 -55
  160. machineconfig/scripts/python/repos.py +72 -49
  161. machineconfig/scripts/python/scheduler.py +70 -53
  162. machineconfig/scripts/python/snapshot.py +21 -24
  163. machineconfig/scripts/python/start_slidev.py +6 -5
  164. machineconfig/scripts/python/start_terminals.py +3 -1
  165. machineconfig/scripts/python/viewer.py +5 -4
  166. machineconfig/scripts/python/viewer_template.py +138 -140
  167. machineconfig/scripts/python/wifi_conn.py +416 -62
  168. machineconfig/scripts/python/wsl_windows_transfer.py +18 -3
  169. machineconfig/scripts/windows/fire.ps1 +27 -15
  170. machineconfig/settings/linters/.pylintrc +6 -7
  171. machineconfig/settings/lvim/windows/config.lua +0 -0
  172. machineconfig/settings/shells/bash/init.sh +6 -0
  173. machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +7 -6
  174. machineconfig/settings/shells/pwsh/init.ps1 +6 -6
  175. machineconfig/settings/shells/wt/settings.json +51 -266
  176. machineconfig/setup_linux/nix/cli_installation.sh +9 -18
  177. machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +3 -6
  178. machineconfig/setup_linux/web_shortcuts/all.sh +5 -10
  179. machineconfig/setup_linux/web_shortcuts/ascii_art.sh +7 -14
  180. machineconfig/setup_linux/web_shortcuts/croshell.sh +6 -12
  181. machineconfig/setup_linux/web_shortcuts/interactive.sh +39 -70
  182. machineconfig/setup_linux/web_shortcuts/ssh.sh +8 -16
  183. machineconfig/setup_linux/web_shortcuts/update_system.sh +7 -14
  184. machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +3 -6
  185. machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +27 -21
  186. machineconfig/utils/ai/browser_user_wrapper.py +60 -45
  187. machineconfig/utils/ai/generate_file_checklist.py +4 -7
  188. machineconfig/utils/ai/url2md.py +15 -7
  189. machineconfig/utils/cloud/onedrive/setup_oauth.py +59 -0
  190. machineconfig/utils/cloud/onedrive/transaction.py +796 -0
  191. machineconfig/utils/{utils_code.py → code.py} +25 -22
  192. machineconfig/utils/installer.py +81 -44
  193. machineconfig/utils/installer_utils/installer_abc.py +7 -6
  194. machineconfig/utils/installer_utils/installer_class.py +44 -25
  195. machineconfig/utils/io_save.py +107 -0
  196. machineconfig/utils/{utils_links.py → links.py} +28 -35
  197. machineconfig/utils/{utils_options.py → options.py} +14 -28
  198. machineconfig/utils/path.py +112 -0
  199. machineconfig/utils/path_reduced.py +608 -0
  200. machineconfig/utils/procs.py +134 -73
  201. machineconfig/utils/scheduling.py +312 -222
  202. machineconfig/utils/utils.py +19 -26
  203. machineconfig/utils/utils2.py +42 -0
  204. machineconfig/utils/utils5.py +84 -0
  205. machineconfig/utils/ve.py +49 -103
  206. {machineconfig-1.94.dist-info → machineconfig-1.96.dist-info}/METADATA +5 -3
  207. machineconfig-1.96.dist-info/RECORD +437 -0
  208. {machineconfig-1.94.dist-info → machineconfig-1.96.dist-info}/WHEEL +1 -1
  209. machineconfig/cluster/session_managers.py +0 -183
  210. machineconfig/cluster/templates/f.py +0 -4
  211. machineconfig/jobs/python/__pycache__/check_installations.cpython-311.pyc +0 -0
  212. machineconfig/jobs/python/__pycache__/checkout_version.cpython-311.pyc +0 -0
  213. machineconfig/jobs/python/__pycache__/python_ve_symlink.cpython-311.pyc +0 -0
  214. machineconfig/jobs/python/checkout_version.py +0 -123
  215. machineconfig/jobs/python/vscode/__pycache__/api.cpython-311.pyc +0 -0
  216. machineconfig/jobs/python/vscode/__pycache__/link_ve.cpython-311.pyc +0 -0
  217. machineconfig/jobs/python_custom_installers/__pycache__/hx.cpython-311.pyc +0 -0
  218. machineconfig/jobs/python_windows_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  219. machineconfig/scripts/python/.mypy_cache/.gitignore +0 -2
  220. machineconfig/scripts/python/.mypy_cache/3.11/@plugins_snapshot.json +0 -1
  221. machineconfig/scripts/python/.mypy_cache/3.11/__future__.data.json +0 -1
  222. machineconfig/scripts/python/.mypy_cache/3.11/__future__.meta.json +0 -1
  223. machineconfig/scripts/python/.mypy_cache/3.11/_ast.data.json +0 -1
  224. machineconfig/scripts/python/.mypy_cache/3.11/_ast.meta.json +0 -1
  225. machineconfig/scripts/python/.mypy_cache/3.11/_bz2.data.json +0 -1
  226. machineconfig/scripts/python/.mypy_cache/3.11/_bz2.meta.json +0 -1
  227. machineconfig/scripts/python/.mypy_cache/3.11/_codecs.data.json +0 -1
  228. machineconfig/scripts/python/.mypy_cache/3.11/_codecs.meta.json +0 -1
  229. machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.data.json +0 -1
  230. machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.meta.json +0 -1
  231. machineconfig/scripts/python/.mypy_cache/3.11/_compression.data.json +0 -1
  232. machineconfig/scripts/python/.mypy_cache/3.11/_compression.meta.json +0 -1
  233. machineconfig/scripts/python/.mypy_cache/3.11/_decimal.data.json +0 -1
  234. machineconfig/scripts/python/.mypy_cache/3.11/_decimal.meta.json +0 -1
  235. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.data.json +0 -1
  236. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.meta.json +0 -1
  237. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.data.json +0 -1
  238. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.meta.json +0 -1
  239. machineconfig/scripts/python/.mypy_cache/3.11/_io.data.json +0 -1
  240. machineconfig/scripts/python/.mypy_cache/3.11/_io.meta.json +0 -1
  241. machineconfig/scripts/python/.mypy_cache/3.11/_locale.data.json +0 -1
  242. machineconfig/scripts/python/.mypy_cache/3.11/_locale.meta.json +0 -1
  243. machineconfig/scripts/python/.mypy_cache/3.11/_stat.data.json +0 -1
  244. machineconfig/scripts/python/.mypy_cache/3.11/_stat.meta.json +0 -1
  245. machineconfig/scripts/python/.mypy_cache/3.11/_struct.data.json +0 -1
  246. machineconfig/scripts/python/.mypy_cache/3.11/_struct.meta.json +0 -1
  247. machineconfig/scripts/python/.mypy_cache/3.11/_thread.data.json +0 -1
  248. machineconfig/scripts/python/.mypy_cache/3.11/_thread.meta.json +0 -1
  249. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.data.json +0 -1
  250. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.meta.json +0 -1
  251. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.data.json +0 -1
  252. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.meta.json +0 -1
  253. machineconfig/scripts/python/.mypy_cache/3.11/_warnings.data.json +0 -1
  254. machineconfig/scripts/python/.mypy_cache/3.11/_warnings.meta.json +0 -1
  255. machineconfig/scripts/python/.mypy_cache/3.11/_weakref.data.json +0 -1
  256. machineconfig/scripts/python/.mypy_cache/3.11/_weakref.meta.json +0 -1
  257. machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.data.json +0 -1
  258. machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.meta.json +0 -1
  259. machineconfig/scripts/python/.mypy_cache/3.11/abc.data.json +0 -1
  260. machineconfig/scripts/python/.mypy_cache/3.11/abc.meta.json +0 -1
  261. machineconfig/scripts/python/.mypy_cache/3.11/argparse.data.json +0 -1
  262. machineconfig/scripts/python/.mypy_cache/3.11/argparse.meta.json +0 -1
  263. machineconfig/scripts/python/.mypy_cache/3.11/ast.data.json +0 -1
  264. machineconfig/scripts/python/.mypy_cache/3.11/ast.meta.json +0 -1
  265. machineconfig/scripts/python/.mypy_cache/3.11/binascii.data.json +0 -1
  266. machineconfig/scripts/python/.mypy_cache/3.11/binascii.meta.json +0 -1
  267. machineconfig/scripts/python/.mypy_cache/3.11/builtins.data.json +0 -1
  268. machineconfig/scripts/python/.mypy_cache/3.11/builtins.meta.json +0 -1
  269. machineconfig/scripts/python/.mypy_cache/3.11/bz2.data.json +0 -1
  270. machineconfig/scripts/python/.mypy_cache/3.11/bz2.meta.json +0 -1
  271. machineconfig/scripts/python/.mypy_cache/3.11/calendar.data.json +0 -1
  272. machineconfig/scripts/python/.mypy_cache/3.11/calendar.meta.json +0 -1
  273. machineconfig/scripts/python/.mypy_cache/3.11/codecs.data.json +0 -1
  274. machineconfig/scripts/python/.mypy_cache/3.11/codecs.meta.json +0 -1
  275. machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.data.json +0 -1
  276. machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.meta.json +0 -1
  277. machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.data.json +0 -1
  278. machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.meta.json +0 -1
  279. machineconfig/scripts/python/.mypy_cache/3.11/configparser.data.json +0 -1
  280. machineconfig/scripts/python/.mypy_cache/3.11/configparser.meta.json +0 -1
  281. machineconfig/scripts/python/.mypy_cache/3.11/contextlib.data.json +0 -1
  282. machineconfig/scripts/python/.mypy_cache/3.11/contextlib.meta.json +0 -1
  283. machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.data.json +0 -1
  284. machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.meta.json +0 -1
  285. machineconfig/scripts/python/.mypy_cache/3.11/datetime.data.json +0 -1
  286. machineconfig/scripts/python/.mypy_cache/3.11/datetime.meta.json +0 -1
  287. machineconfig/scripts/python/.mypy_cache/3.11/decimal.data.json +0 -1
  288. machineconfig/scripts/python/.mypy_cache/3.11/decimal.meta.json +0 -1
  289. machineconfig/scripts/python/.mypy_cache/3.11/dis.data.json +0 -1
  290. machineconfig/scripts/python/.mypy_cache/3.11/dis.meta.json +0 -1
  291. machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.data.json +0 -1
  292. machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.meta.json +0 -1
  293. machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.data.json +0 -1
  294. machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.meta.json +0 -1
  295. machineconfig/scripts/python/.mypy_cache/3.11/email/charset.data.json +0 -1
  296. machineconfig/scripts/python/.mypy_cache/3.11/email/charset.meta.json +0 -1
  297. machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.data.json +0 -1
  298. machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.meta.json +0 -1
  299. machineconfig/scripts/python/.mypy_cache/3.11/email/errors.data.json +0 -1
  300. machineconfig/scripts/python/.mypy_cache/3.11/email/errors.meta.json +0 -1
  301. machineconfig/scripts/python/.mypy_cache/3.11/email/header.data.json +0 -1
  302. machineconfig/scripts/python/.mypy_cache/3.11/email/header.meta.json +0 -1
  303. machineconfig/scripts/python/.mypy_cache/3.11/email/message.data.json +0 -1
  304. machineconfig/scripts/python/.mypy_cache/3.11/email/message.meta.json +0 -1
  305. machineconfig/scripts/python/.mypy_cache/3.11/email/policy.data.json +0 -1
  306. machineconfig/scripts/python/.mypy_cache/3.11/email/policy.meta.json +0 -1
  307. machineconfig/scripts/python/.mypy_cache/3.11/enum.data.json +0 -1
  308. machineconfig/scripts/python/.mypy_cache/3.11/enum.meta.json +0 -1
  309. machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.data.json +0 -1
  310. machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.meta.json +0 -1
  311. machineconfig/scripts/python/.mypy_cache/3.11/functools.data.json +0 -1
  312. machineconfig/scripts/python/.mypy_cache/3.11/functools.meta.json +0 -1
  313. machineconfig/scripts/python/.mypy_cache/3.11/gc.data.json +0 -1
  314. machineconfig/scripts/python/.mypy_cache/3.11/gc.meta.json +0 -1
  315. machineconfig/scripts/python/.mypy_cache/3.11/genericpath.data.json +0 -1
  316. machineconfig/scripts/python/.mypy_cache/3.11/genericpath.meta.json +0 -1
  317. machineconfig/scripts/python/.mypy_cache/3.11/getpass.data.json +0 -1
  318. machineconfig/scripts/python/.mypy_cache/3.11/getpass.meta.json +0 -1
  319. machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.data.json +0 -1
  320. machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.meta.json +0 -1
  321. machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.data.json +0 -1
  322. machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.meta.json +0 -1
  323. machineconfig/scripts/python/.mypy_cache/3.11/git/compat.data.json +0 -1
  324. machineconfig/scripts/python/.mypy_cache/3.11/git/compat.meta.json +0 -1
  325. machineconfig/scripts/python/.mypy_cache/3.11/git/config.data.json +0 -1
  326. machineconfig/scripts/python/.mypy_cache/3.11/git/config.meta.json +0 -1
  327. machineconfig/scripts/python/.mypy_cache/3.11/git/db.data.json +0 -1
  328. machineconfig/scripts/python/.mypy_cache/3.11/git/db.meta.json +0 -1
  329. machineconfig/scripts/python/.mypy_cache/3.11/git/diff.data.json +0 -1
  330. machineconfig/scripts/python/.mypy_cache/3.11/git/diff.meta.json +0 -1
  331. machineconfig/scripts/python/.mypy_cache/3.11/git/exc.data.json +0 -1
  332. machineconfig/scripts/python/.mypy_cache/3.11/git/exc.meta.json +0 -1
  333. machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.data.json +0 -1
  334. machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.meta.json +0 -1
  335. machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.data.json +0 -1
  336. machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.meta.json +0 -1
  337. machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.data.json +0 -1
  338. machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.meta.json +0 -1
  339. machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.data.json +0 -1
  340. machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.meta.json +0 -1
  341. machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.data.json +0 -1
  342. machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.meta.json +0 -1
  343. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.data.json +0 -1
  344. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.meta.json +0 -1
  345. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.data.json +0 -1
  346. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.meta.json +0 -1
  347. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.data.json +0 -1
  348. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.meta.json +0 -1
  349. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.data.json +0 -1
  350. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.meta.json +0 -1
  351. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.data.json +0 -1
  352. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.meta.json +0 -1
  353. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.data.json +0 -1
  354. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.meta.json +0 -1
  355. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.data.json +0 -1
  356. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.meta.json +0 -1
  357. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.data.json +0 -1
  358. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.meta.json +0 -1
  359. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.data.json +0 -1
  360. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.meta.json +0 -1
  361. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.data.json +0 -1
  362. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.meta.json +0 -1
  363. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.data.json +0 -1
  364. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.meta.json +0 -1
  365. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.data.json +0 -1
  366. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.meta.json +0 -1
  367. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.data.json +0 -1
  368. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.meta.json +0 -1
  369. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.data.json +0 -1
  370. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.meta.json +0 -1
  371. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.data.json +0 -1
  372. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.meta.json +0 -1
  373. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.data.json +0 -1
  374. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.meta.json +0 -1
  375. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.data.json +0 -1
  376. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.meta.json +0 -1
  377. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.data.json +0 -1
  378. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.meta.json +0 -1
  379. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.data.json +0 -1
  380. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.meta.json +0 -1
  381. machineconfig/scripts/python/.mypy_cache/3.11/git/remote.data.json +0 -1
  382. machineconfig/scripts/python/.mypy_cache/3.11/git/remote.meta.json +0 -1
  383. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.data.json +0 -1
  384. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.meta.json +0 -1
  385. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.data.json +0 -1
  386. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.meta.json +0 -1
  387. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.data.json +0 -1
  388. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.meta.json +0 -1
  389. machineconfig/scripts/python/.mypy_cache/3.11/git/types.data.json +0 -1
  390. machineconfig/scripts/python/.mypy_cache/3.11/git/types.meta.json +0 -1
  391. machineconfig/scripts/python/.mypy_cache/3.11/git/util.data.json +0 -1
  392. machineconfig/scripts/python/.mypy_cache/3.11/git/util.meta.json +0 -1
  393. machineconfig/scripts/python/.mypy_cache/3.11/glob.data.json +0 -1
  394. machineconfig/scripts/python/.mypy_cache/3.11/glob.meta.json +0 -1
  395. machineconfig/scripts/python/.mypy_cache/3.11/gzip.data.json +0 -1
  396. machineconfig/scripts/python/.mypy_cache/3.11/gzip.meta.json +0 -1
  397. machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.data.json +0 -1
  398. machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.meta.json +0 -1
  399. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.data.json +0 -1
  400. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.meta.json +0 -1
  401. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.data.json +0 -1
  402. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.meta.json +0 -1
  403. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.data.json +0 -1
  404. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.meta.json +0 -1
  405. machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.data.json +0 -1
  406. machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.meta.json +0 -1
  407. machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.data.json +0 -1
  408. machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.meta.json +0 -1
  409. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.data.json +0 -1
  410. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.meta.json +0 -1
  411. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.data.json +0 -1
  412. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.meta.json +0 -1
  413. machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.data.json +0 -1
  414. machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.meta.json +0 -1
  415. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.data.json +0 -1
  416. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.meta.json +0 -1
  417. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.data.json +0 -1
  418. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.meta.json +0 -1
  419. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.data.json +0 -1
  420. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.meta.json +0 -1
  421. machineconfig/scripts/python/.mypy_cache/3.11/inspect.data.json +0 -1
  422. machineconfig/scripts/python/.mypy_cache/3.11/inspect.meta.json +0 -1
  423. machineconfig/scripts/python/.mypy_cache/3.11/io.data.json +0 -1
  424. machineconfig/scripts/python/.mypy_cache/3.11/io.meta.json +0 -1
  425. machineconfig/scripts/python/.mypy_cache/3.11/itertools.data.json +0 -1
  426. machineconfig/scripts/python/.mypy_cache/3.11/itertools.meta.json +0 -1
  427. machineconfig/scripts/python/.mypy_cache/3.11/locale.data.json +0 -1
  428. machineconfig/scripts/python/.mypy_cache/3.11/locale.meta.json +0 -1
  429. machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.data.json +0 -1
  430. machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.meta.json +0 -1
  431. machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.data.json +0 -1
  432. machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.meta.json +0 -1
  433. machineconfig/scripts/python/.mypy_cache/3.11/mmap.data.json +0 -1
  434. machineconfig/scripts/python/.mypy_cache/3.11/mmap.meta.json +0 -1
  435. machineconfig/scripts/python/.mypy_cache/3.11/numbers.data.json +0 -1
  436. machineconfig/scripts/python/.mypy_cache/3.11/numbers.meta.json +0 -1
  437. machineconfig/scripts/python/.mypy_cache/3.11/opcode.data.json +0 -1
  438. machineconfig/scripts/python/.mypy_cache/3.11/opcode.meta.json +0 -1
  439. machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.data.json +0 -1
  440. machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.meta.json +0 -1
  441. machineconfig/scripts/python/.mypy_cache/3.11/os/path.data.json +0 -1
  442. machineconfig/scripts/python/.mypy_cache/3.11/os/path.meta.json +0 -1
  443. machineconfig/scripts/python/.mypy_cache/3.11/pathlib.data.json +0 -1
  444. machineconfig/scripts/python/.mypy_cache/3.11/pathlib.meta.json +0 -1
  445. machineconfig/scripts/python/.mypy_cache/3.11/platform.data.json +0 -1
  446. machineconfig/scripts/python/.mypy_cache/3.11/platform.meta.json +0 -1
  447. machineconfig/scripts/python/.mypy_cache/3.11/posixpath.data.json +0 -1
  448. machineconfig/scripts/python/.mypy_cache/3.11/posixpath.meta.json +0 -1
  449. machineconfig/scripts/python/.mypy_cache/3.11/re.data.json +0 -1
  450. machineconfig/scripts/python/.mypy_cache/3.11/re.meta.json +0 -1
  451. machineconfig/scripts/python/.mypy_cache/3.11/resource.data.json +0 -1
  452. machineconfig/scripts/python/.mypy_cache/3.11/resource.meta.json +0 -1
  453. machineconfig/scripts/python/.mypy_cache/3.11/shlex.data.json +0 -1
  454. machineconfig/scripts/python/.mypy_cache/3.11/shlex.meta.json +0 -1
  455. machineconfig/scripts/python/.mypy_cache/3.11/shutil.data.json +0 -1
  456. machineconfig/scripts/python/.mypy_cache/3.11/shutil.meta.json +0 -1
  457. machineconfig/scripts/python/.mypy_cache/3.11/signal.data.json +0 -1
  458. machineconfig/scripts/python/.mypy_cache/3.11/signal.meta.json +0 -1
  459. machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.data.json +0 -1
  460. machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.meta.json +0 -1
  461. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.data.json +0 -1
  462. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.meta.json +0 -1
  463. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.data.json +0 -1
  464. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.meta.json +0 -1
  465. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.data.json +0 -1
  466. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.meta.json +0 -1
  467. machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.data.json +0 -1
  468. machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.meta.json +0 -1
  469. machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.data.json +0 -1
  470. machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.meta.json +0 -1
  471. machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.data.json +0 -1
  472. machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.meta.json +0 -1
  473. machineconfig/scripts/python/.mypy_cache/3.11/stat.data.json +0 -1
  474. machineconfig/scripts/python/.mypy_cache/3.11/stat.meta.json +0 -1
  475. machineconfig/scripts/python/.mypy_cache/3.11/string.data.json +0 -1
  476. machineconfig/scripts/python/.mypy_cache/3.11/string.meta.json +0 -1
  477. machineconfig/scripts/python/.mypy_cache/3.11/struct.data.json +0 -1
  478. machineconfig/scripts/python/.mypy_cache/3.11/struct.meta.json +0 -1
  479. machineconfig/scripts/python/.mypy_cache/3.11/subprocess.data.json +0 -1
  480. machineconfig/scripts/python/.mypy_cache/3.11/subprocess.meta.json +0 -1
  481. machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.data.json +0 -1
  482. machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.meta.json +0 -1
  483. machineconfig/scripts/python/.mypy_cache/3.11/tarfile.data.json +0 -1
  484. machineconfig/scripts/python/.mypy_cache/3.11/tarfile.meta.json +0 -1
  485. machineconfig/scripts/python/.mypy_cache/3.11/tempfile.data.json +0 -1
  486. machineconfig/scripts/python/.mypy_cache/3.11/tempfile.meta.json +0 -1
  487. machineconfig/scripts/python/.mypy_cache/3.11/textwrap.data.json +0 -1
  488. machineconfig/scripts/python/.mypy_cache/3.11/textwrap.meta.json +0 -1
  489. machineconfig/scripts/python/.mypy_cache/3.11/threading.data.json +0 -1
  490. machineconfig/scripts/python/.mypy_cache/3.11/threading.meta.json +0 -1
  491. machineconfig/scripts/python/.mypy_cache/3.11/time.data.json +0 -1
  492. machineconfig/scripts/python/.mypy_cache/3.11/time.meta.json +0 -1
  493. machineconfig/scripts/python/.mypy_cache/3.11/types.data.json +0 -1
  494. machineconfig/scripts/python/.mypy_cache/3.11/types.meta.json +0 -1
  495. machineconfig/scripts/python/.mypy_cache/3.11/typing.data.json +0 -1
  496. machineconfig/scripts/python/.mypy_cache/3.11/typing.meta.json +0 -1
  497. machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.data.json +0 -1
  498. machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.meta.json +0 -1
  499. machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.data.json +0 -1
  500. machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.meta.json +0 -1
  501. machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.data.json +0 -1
  502. machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.meta.json +0 -1
  503. machineconfig/scripts/python/.mypy_cache/3.11/uuid.data.json +0 -1
  504. machineconfig/scripts/python/.mypy_cache/3.11/uuid.meta.json +0 -1
  505. machineconfig/scripts/python/.mypy_cache/3.11/warnings.data.json +0 -1
  506. machineconfig/scripts/python/.mypy_cache/3.11/warnings.meta.json +0 -1
  507. machineconfig/scripts/python/.mypy_cache/3.11/weakref.data.json +0 -1
  508. machineconfig/scripts/python/.mypy_cache/3.11/weakref.meta.json +0 -1
  509. machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.data.json +0 -1
  510. machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.meta.json +0 -1
  511. machineconfig/scripts/python/.mypy_cache/3.11/zlib.data.json +0 -1
  512. machineconfig/scripts/python/.mypy_cache/3.11/zlib.meta.json +0 -1
  513. machineconfig/scripts/python/.mypy_cache/CACHEDIR.TAG +0 -3
  514. machineconfig/scripts/python/__pycache__/cloud_repo_sync.cpython-311.pyc +0 -0
  515. machineconfig/scripts/python/__pycache__/gh_models.cpython-311.pyc +0 -0
  516. machineconfig/scripts/python/__pycache__/url2md.cpython-311.pyc +0 -0
  517. machineconfig/scripts/python/__pycache__/viewer.cpython-311.pyc +0 -0
  518. machineconfig/scripts/python/__pycache__/vscode_api.cpython-311.pyc +0 -0
  519. machineconfig/settings/__pycache__/__init__.cpython-311.pyc +0 -0
  520. machineconfig/settings/linters/.ruff_cache/.gitignore +0 -2
  521. machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +0 -1
  522. machineconfig/settings/shells/ipy/profiles/default/__pycache__/__init__.cpython-311.pyc +0 -0
  523. machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/__init__.cpython-311.pyc +0 -0
  524. machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/playext.cpython-311.pyc +0 -0
  525. machineconfig/utils/utils_path.py +0 -151
  526. machineconfig/utils/ve_utils/ve1.py +0 -111
  527. machineconfig/utils/ve_utils/ve2.py +0 -142
  528. machineconfig-1.94.dist-info/RECORD +0 -710
  529. {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 crocodile.file_management import P, Read
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 = Read.ini(P.home().joinpath("AppData/Roaming/rclone/rclone.conf"))
18
- elif platform.system() == "Linux": config = Read.ini(P.home().joinpath(".config/rclone/rclone.conf"))
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 = P.tmpfile(suffix=".ps1").write_text(f"""
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
- print(f"""
46
- ╔{'═' * 70}╗
47
- ☁️ Cloud Mount Utility ║
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 = P(DEFAULT_MOUNT).expanduser().joinpath(cloud)
62
+ mount_loc = PathExtended(DEFAULT_MOUNT).expanduser().joinpath(cloud)
61
63
  else:
62
- mount_loc = P(destination)
64
+ mount_loc = PathExtended(destination)
63
65
 
64
- print(f"""
65
- ╭{'─' * 70}╮
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.create()
73
- elif platform.system() == "Linux":
74
- print("🐧 Creating mount directory on Linux...")
75
- try: mount_loc.create()
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
- print(f"""
79
- ╭{'─' * 70}
80
- ⚠️ WARNING: Mount directory issue │
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() == "Linux": txt = f"""
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
- print(f"""
141
- ╔{'═' * 70}╗
142
- Cloud mount command prepared successfully ║
143
- 🔄 Running mount process... ║
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
- print(f"""
150
- ╔{'═' * 70}╗
151
- ☁️ RCLONE CLOUD MOUNT ║
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.clEoud, network=args.network, destination=args.destination)
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 crocodile.file_management import P, Read
4
+ from machineconfig.utils.path_reduced import P as PathExtended
5
5
  from crocodile.meta import Terminal
6
- from crocodile.core import randstr
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, get_shell_file_executing_python_script, write_shell_script_to_file, choose_one_option
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 = Read.ini(DEFAULTS_PATH)['general']['rclone_config_name']
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 = P(args.repo).expanduser().absolute()
41
- repo_local_root = P.cwd() if path is None else P(path).expanduser().absolute()
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 = P(repo_local_obj.working_dir) # cwd might have been in a sub directory of repo_root, so its better to redefine it.
44
- CONFIG_PATH.joinpath("remote").create()
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(f"""
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(f"""
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 "╔{'═' * 70}╗"
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 "╔{'═' * 70}╗"
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(f"""
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.cloud_repo_sync import delete_remote_repo_copy_and_push_local as func
131
- func(remote_repo=r'{repo_remote_root.to_str()}', local_repo=r'{repo_local_root.to_str()}', cloud=r'{cloud_resolved}')
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() == "Linux": program_2 += """
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.cloud_repo_sync import inspect_repos as func
153
- func(repo_local_root=r'{repo_local_root.to_str()}', repo_remote_root=r'{repo_remote_root.to_str()}')
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(f"""
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(f"""
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
- print(f"""
14
- ╔{'═' * 70}╗
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
- print(f"""
53
- ╔{'═' * 70}
54
- 🔄 BI-DIRECTIONAL SYNC ║
55
- {'═' * 70}╣
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
- print(f"""
63
- ╔{'═' * 70}
64
- 📤 ONE-WAY SYNC ║
65
- ╠{'═' * 70}
66
- Source: {source}
67
- ↓ ║
68
- Target: {target}
69
- ╚{'═' * 70}╝
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: rclone_cmd += " --delete-during"
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