flyshell 1.0.13__tar.gz → 1.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flyshell-1.0.13/src/flyshell.egg-info → flyshell-1.1.1}/PKG-INFO +4 -2
- {flyshell-1.0.13 → flyshell-1.1.1}/README.md +3 -1
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/builtin/diskops.py +2 -6
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/constants.py +2 -5
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/core/directory.py +2 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/core/loader.py +2 -1
- {flyshell-1.0.13 → flyshell-1.1.1/src/flyshell.egg-info}/PKG-INFO +4 -2
- {flyshell-1.0.13 → flyshell-1.1.1}/LICENSE +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/pyproject.toml +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/setup.cfg +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/__init__.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/abstract/__init__.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/abstract/base_cmd.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/abstract/base_plugin.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/abstract/parent_cmd.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/builtin/__init__.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/builtin/fs.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/builtin/system.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/builtin/utils.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/core/__init__.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/core/auth.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/core/console.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/core/data.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell/main.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell.egg-info/SOURCES.txt +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell.egg-info/dependency_links.txt +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell.egg-info/entry_points.txt +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell.egg-info/requires.txt +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/src/flyshell.egg-info/top_level.txt +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/tests/test_auth.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/tests/test_data.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/tests/test_directory.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/tests/test_loader.py +0 -0
- {flyshell-1.0.13 → flyshell-1.1.1}/tests/test_security.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flyshell
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.1.1
|
|
4
4
|
Summary: A modular, zero-dependency command-line environment in Python.
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -23,7 +23,7 @@ Dynamic: license-file
|
|
|
23
23
|

|
|
24
24
|

|
|
25
25
|
|
|
26
|
-
> Documentation last updated: v1.
|
|
26
|
+
> Documentation last updated: v1.1.0
|
|
27
27
|
|
|
28
28
|
A modular, zero-dependency command-line environment and extensible runtime interface built in Python.
|
|
29
29
|
|
|
@@ -60,6 +60,7 @@ flyshell/
|
|
|
60
60
|
│ │ └── parent_cmd.py
|
|
61
61
|
│ ├── builtin/
|
|
62
62
|
│ │ ├── __init__.py
|
|
63
|
+
│ │ ├── diskops.py
|
|
63
64
|
│ │ ├── fs.py
|
|
64
65
|
│ │ ├── system.py
|
|
65
66
|
│ │ └── utils.py
|
|
@@ -71,6 +72,7 @@ flyshell/
|
|
|
71
72
|
│ │ ├── directory.py
|
|
72
73
|
│ │ └── loader.py
|
|
73
74
|
│ ├── __init__.py
|
|
75
|
+
│ ├── constants.py
|
|
74
76
|
│ └── main.py
|
|
75
77
|
├── tests/
|
|
76
78
|
│ ├── test_auth.py
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|

|
|
7
7
|

|
|
8
8
|
|
|
9
|
-
> Documentation last updated: v1.
|
|
9
|
+
> Documentation last updated: v1.1.0
|
|
10
10
|
|
|
11
11
|
A modular, zero-dependency command-line environment and extensible runtime interface built in Python.
|
|
12
12
|
|
|
@@ -43,6 +43,7 @@ flyshell/
|
|
|
43
43
|
│ │ └── parent_cmd.py
|
|
44
44
|
│ ├── builtin/
|
|
45
45
|
│ │ ├── __init__.py
|
|
46
|
+
│ │ ├── diskops.py
|
|
46
47
|
│ │ ├── fs.py
|
|
47
48
|
│ │ ├── system.py
|
|
48
49
|
│ │ └── utils.py
|
|
@@ -54,6 +55,7 @@ flyshell/
|
|
|
54
55
|
│ │ ├── directory.py
|
|
55
56
|
│ │ └── loader.py
|
|
56
57
|
│ ├── __init__.py
|
|
58
|
+
│ ├── constants.py
|
|
57
59
|
│ └── main.py
|
|
58
60
|
├── tests/
|
|
59
61
|
│ ├── test_auth.py
|
|
@@ -269,12 +269,8 @@ class Rename(BaseCmd):
|
|
|
269
269
|
def execute(self, args):
|
|
270
270
|
raw_src = args[0].strip("\"'")
|
|
271
271
|
raw_new_name = args[1].strip("\"'")
|
|
272
|
-
if "/" in raw_new_name or "\\" in raw_new_name:
|
|
273
|
-
return (
|
|
274
|
-
1,
|
|
275
|
-
"\nCommand Error: The new name must not contain path separators ('/' or '\\')\n"
|
|
276
|
-
"Use 'mv' to move items between different folders.\n",
|
|
277
|
-
)
|
|
272
|
+
if raw_new_name in (".", "..") or "/" in raw_new_name or "\\" in raw_new_name:
|
|
273
|
+
return (1, "\nCommand Error: Invalid file name.\n")
|
|
278
274
|
src_path = Path(raw_src).expanduser().resolve()
|
|
279
275
|
if not src_path.exists():
|
|
280
276
|
return (1, f"\nSystem Error: Target '{raw_src}' not found.\n")
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
# src\flyshell\constants.py
|
|
2
2
|
|
|
3
|
-
from flyshell.core.directory import COMMAND_REGISTRY
|
|
4
|
-
|
|
5
3
|
from pathlib import Path
|
|
6
4
|
import os
|
|
7
5
|
import platform
|
|
8
6
|
import time
|
|
9
7
|
|
|
10
|
-
BUILD =
|
|
11
|
-
VERSION = "1.
|
|
8
|
+
BUILD = 114
|
|
9
|
+
VERSION = "1.1.1"
|
|
12
10
|
|
|
13
11
|
|
|
14
12
|
def _resolve_app_dir() -> Path:
|
|
@@ -36,7 +34,6 @@ SESSION_START_TIME = time.time()
|
|
|
36
34
|
SESSION_CMD_COUNT = 0
|
|
37
35
|
|
|
38
36
|
PLUGINS = {}
|
|
39
|
-
RESERVED_NAMES = set(COMMAND_REGISTRY.keys())
|
|
40
37
|
|
|
41
38
|
BLOCKED_COMMANDS = frozenset({"format", "diskpart", "dd"})
|
|
42
39
|
DANGER_COMMANDS = frozenset({"del", "rmdir", "rd", "rm", "taskkill", "killall"})
|
|
@@ -71,12 +71,14 @@ INSTALLED_COMMANDS: list[BaseCmd] = [
|
|
|
71
71
|
system.SysExe(),
|
|
72
72
|
diskops.Touch(),
|
|
73
73
|
]
|
|
74
|
+
|
|
74
75
|
COMMAND_REGISTRY: dict[str, BaseCmd] = {}
|
|
75
76
|
for cmd_obj in INSTALLED_COMMANDS:
|
|
76
77
|
COMMAND_REGISTRY[cmd_obj.name] = cmd_obj
|
|
77
78
|
for alias_name in cmd_obj.aliases:
|
|
78
79
|
COMMAND_REGISTRY[alias_name] = cmd_obj
|
|
79
80
|
|
|
81
|
+
RESERVED_NAMES = set(COMMAND_REGISTRY.keys())
|
|
80
82
|
|
|
81
83
|
def log(cmd):
|
|
82
84
|
utc_now = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from flyshell import constants as c
|
|
4
4
|
from flyshell.abstract.base_plugin import BasePlugin
|
|
5
5
|
from flyshell.core import data
|
|
6
|
+
from flyshell.core.directory import RESERVED_NAMES
|
|
6
7
|
|
|
7
8
|
from pathlib import Path
|
|
8
9
|
import importlib.util
|
|
@@ -51,7 +52,7 @@ def scan_plugins(plugin_folder=None):
|
|
|
51
52
|
first_print = True
|
|
52
53
|
for name, entries in candidates.items():
|
|
53
54
|
failed = False
|
|
54
|
-
if name in
|
|
55
|
+
if name in RESERVED_NAMES:
|
|
55
56
|
print(
|
|
56
57
|
f"\n⚠️ Collision Error - Plugin '{name}' conflicts with a built-in Flyshell command and will not be loaded."
|
|
57
58
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flyshell
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.1.1
|
|
4
4
|
Summary: A modular, zero-dependency command-line environment in Python.
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -23,7 +23,7 @@ Dynamic: license-file
|
|
|
23
23
|

|
|
24
24
|

|
|
25
25
|
|
|
26
|
-
> Documentation last updated: v1.
|
|
26
|
+
> Documentation last updated: v1.1.0
|
|
27
27
|
|
|
28
28
|
A modular, zero-dependency command-line environment and extensible runtime interface built in Python.
|
|
29
29
|
|
|
@@ -60,6 +60,7 @@ flyshell/
|
|
|
60
60
|
│ │ └── parent_cmd.py
|
|
61
61
|
│ ├── builtin/
|
|
62
62
|
│ │ ├── __init__.py
|
|
63
|
+
│ │ ├── diskops.py
|
|
63
64
|
│ │ ├── fs.py
|
|
64
65
|
│ │ ├── system.py
|
|
65
66
|
│ │ └── utils.py
|
|
@@ -71,6 +72,7 @@ flyshell/
|
|
|
71
72
|
│ │ ├── directory.py
|
|
72
73
|
│ │ └── loader.py
|
|
73
74
|
│ ├── __init__.py
|
|
75
|
+
│ ├── constants.py
|
|
74
76
|
│ └── main.py
|
|
75
77
|
├── tests/
|
|
76
78
|
│ ├── test_auth.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|