scios-cli 0.1.7__tar.gz → 0.1.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {scios_cli-0.1.7/scios_cli.egg-info → scios_cli-0.1.8}/PKG-INFO +1 -1
- {scios_cli-0.1.7 → scios_cli-0.1.8}/pyproject.toml +1 -1
- scios_cli-0.1.8/scios_cli/__main__.py +31 -0
- {scios_cli-0.1.7 → scios_cli-0.1.8}/scios_cli/install.py +10 -8
- {scios_cli-0.1.7 → scios_cli-0.1.8/scios_cli.egg-info}/PKG-INFO +1 -1
- {scios_cli-0.1.7 → scios_cli-0.1.8}/setup.py +1 -1
- scios_cli-0.1.7/scios_cli/__main__.py +0 -17
- {scios_cli-0.1.7 → scios_cli-0.1.8}/LICENSE +0 -0
- {scios_cli-0.1.7 → scios_cli-0.1.8}/README.md +0 -0
- {scios_cli-0.1.7 → scios_cli-0.1.8}/scios_cli/__init__.py +0 -0
- {scios_cli-0.1.7 → scios_cli-0.1.8}/scios_cli/main.py +0 -0
- {scios_cli-0.1.7 → scios_cli-0.1.8}/scios_cli.egg-info/SOURCES.txt +0 -0
- {scios_cli-0.1.7 → scios_cli-0.1.8}/scios_cli.egg-info/dependency_links.txt +0 -0
- {scios_cli-0.1.7 → scios_cli-0.1.8}/scios_cli.egg-info/entry_points.txt +0 -0
- {scios_cli-0.1.7 → scios_cli-0.1.8}/scios_cli.egg-info/requires.txt +0 -0
- {scios_cli-0.1.7 → scios_cli-0.1.8}/scios_cli.egg-info/top_level.txt +0 -0
- {scios_cli-0.1.7 → scios_cli-0.1.8}/setup.cfg +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "scios-cli"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.8"
|
|
8
8
|
description = "Scios Local Agent Workspace Sync CLI — bridge your terminal to the Scios Cloud backend"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "Apache-2.0"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Allow running scios_cli as a module: python3 -m scios_cli [init|sync] ..."""
|
|
2
|
+
import sys
|
|
3
|
+
|
|
4
|
+
def main():
|
|
5
|
+
if len(sys.argv) > 1 and sys.argv[1] == "init":
|
|
6
|
+
sys.argv = [sys.argv[0]] + sys.argv[2:]
|
|
7
|
+
from scios_cli.install import cli_install_protocol
|
|
8
|
+
cli_install_protocol()
|
|
9
|
+
else:
|
|
10
|
+
# Default to sync behavior, strip 'sync' subcommand if present
|
|
11
|
+
if len(sys.argv) > 1 and sys.argv[1] == "sync":
|
|
12
|
+
sys.argv = [sys.argv[0]] + sys.argv[2:]
|
|
13
|
+
from scios_cli.main import cli_entry
|
|
14
|
+
try:
|
|
15
|
+
cli_entry()
|
|
16
|
+
except (KeyboardInterrupt, SystemExit):
|
|
17
|
+
pass
|
|
18
|
+
except Exception as e:
|
|
19
|
+
print(f"\n❌ Error: {e}")
|
|
20
|
+
finally:
|
|
21
|
+
# On Windows, when launched via protocol handler (python.exe directly,
|
|
22
|
+
# not cmd.exe), the console window closes immediately on exit.
|
|
23
|
+
# Keep it open so the user can see output and the file watcher runs.
|
|
24
|
+
if sys.platform == "win32" and not sys.stdin.isatty():
|
|
25
|
+
try:
|
|
26
|
+
input("\nPress Enter to close this window...")
|
|
27
|
+
except EOFError:
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
if __name__ == "__main__":
|
|
31
|
+
main()
|
|
@@ -263,11 +263,11 @@ def install_windows():
|
|
|
263
263
|
print("🚀 Installing Scios Custom URI Handler (scios://) for Windows...")
|
|
264
264
|
import winreg
|
|
265
265
|
|
|
266
|
-
#
|
|
267
|
-
#
|
|
268
|
-
#
|
|
269
|
-
|
|
270
|
-
print(f"
|
|
266
|
+
# Use python.exe directly instead of cmd.exe to avoid & in URLs
|
|
267
|
+
# being interpreted as command separators by cmd.exe.
|
|
268
|
+
# python.exe is a console app so Windows will open a console window.
|
|
269
|
+
python_path = sys.executable
|
|
270
|
+
print(f" Using Python at: {python_path}")
|
|
271
271
|
|
|
272
272
|
try:
|
|
273
273
|
# Create HKEY_CURRENT_USER\Software\Classes\scios
|
|
@@ -277,9 +277,11 @@ def install_windows():
|
|
|
277
277
|
|
|
278
278
|
# Create shell\open\command
|
|
279
279
|
cmd_key = winreg.CreateKey(key, r"shell\open\command")
|
|
280
|
-
#
|
|
281
|
-
#
|
|
282
|
-
|
|
280
|
+
# Invoke python -m scios_cli directly. This avoids cmd.exe which
|
|
281
|
+
# breaks on & characters in URLs (treats them as command separators).
|
|
282
|
+
# python.exe is a console app so a terminal window will appear.
|
|
283
|
+
winreg.SetValue(cmd_key, "", winreg.REG_SZ,
|
|
284
|
+
f'"{python_path}" -m scios_cli sync "%1"')
|
|
283
285
|
|
|
284
286
|
winreg.CloseKey(cmd_key)
|
|
285
287
|
winreg.CloseKey(key)
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"""Allow running scios_cli as a module: python3 -m scios_cli [init|sync] ..."""
|
|
2
|
-
import sys
|
|
3
|
-
|
|
4
|
-
def main():
|
|
5
|
-
if len(sys.argv) > 1 and sys.argv[1] == "init":
|
|
6
|
-
sys.argv = [sys.argv[0]] + sys.argv[2:]
|
|
7
|
-
from scios_cli.install import cli_install_protocol
|
|
8
|
-
cli_install_protocol()
|
|
9
|
-
else:
|
|
10
|
-
# Default to sync behavior, strip 'sync' subcommand if present
|
|
11
|
-
if len(sys.argv) > 1 and sys.argv[1] == "sync":
|
|
12
|
-
sys.argv = [sys.argv[0]] + sys.argv[2:]
|
|
13
|
-
from scios_cli.main import cli_entry
|
|
14
|
-
cli_entry()
|
|
15
|
-
|
|
16
|
-
if __name__ == "__main__":
|
|
17
|
-
main()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|