rgwfuncs 0.0.71__py3-none-any.whl → 0.0.72__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.
- rgwfuncs/interactive_shell_lib.py +5 -29
- {rgwfuncs-0.0.71.dist-info → rgwfuncs-0.0.72.dist-info}/METADATA +1 -1
- {rgwfuncs-0.0.71.dist-info → rgwfuncs-0.0.72.dist-info}/RECORD +7 -7
- {rgwfuncs-0.0.71.dist-info → rgwfuncs-0.0.72.dist-info}/LICENSE +0 -0
- {rgwfuncs-0.0.71.dist-info → rgwfuncs-0.0.72.dist-info}/WHEEL +0 -0
- {rgwfuncs-0.0.71.dist-info → rgwfuncs-0.0.72.dist-info}/entry_points.txt +0 -0
- {rgwfuncs-0.0.71.dist-info → rgwfuncs-0.0.72.dist-info}/top_level.txt +0 -0
@@ -22,10 +22,10 @@ def interactive_shell(local_vars: Dict[str, Any], shell_color: str = '\033[37m')
|
|
22
22
|
"""
|
23
23
|
|
24
24
|
def setup_readline(shell_color: str = '\033[37m') -> None:
|
25
|
-
"""Set up readline for
|
25
|
+
"""Set up readline for history persistence with a given shell color."""
|
26
26
|
HISTORY_FILE = os.path.expanduser("~/.rgwfuncs_shell_history")
|
27
|
-
readline.set_history_length(1000)
|
28
|
-
readline.parse_and_bind("tab: complete")
|
27
|
+
readline.set_history_length(1000)
|
28
|
+
readline.parse_and_bind("tab: complete")
|
29
29
|
if os.path.exists(HISTORY_FILE):
|
30
30
|
try:
|
31
31
|
readline.read_history_file(HISTORY_FILE)
|
@@ -33,13 +33,6 @@ def interactive_shell(local_vars: Dict[str, Any], shell_color: str = '\033[37m')
|
|
33
33
|
print(f"{shell_color}Warning: Could not load history file: {e}\033[0m")
|
34
34
|
atexit.register(readline.write_history_file, HISTORY_FILE)
|
35
35
|
|
36
|
-
def colorize_output(text: str, shell_color: str) -> str:
|
37
|
-
"""Apply shell color only to text without ANSI codes, preserving existing codes."""
|
38
|
-
# Split text into segments around ANSI escape sequences
|
39
|
-
if '\x1b[' not in text and '\033[' not in text:
|
40
|
-
return f"{shell_color}{text}\033[0m"
|
41
|
-
return text # Return unchanged if it contains ANSI codes
|
42
|
-
|
43
36
|
if not isinstance(local_vars, dict):
|
44
37
|
raise TypeError("local_vars must be a dictionary")
|
45
38
|
|
@@ -56,22 +49,5 @@ def interactive_shell(local_vars: Dict[str, Any], shell_color: str = '\033[37m')
|
|
56
49
|
banner = f"{shell_color}Welcome to the rgwfuncs interactive shell.\nUse up/down arrows for command history.\nType 'exit()' or Ctrl+D to quit.\033[0m"
|
57
50
|
exitmsg = f"{shell_color}Goodbye.\033[0m"
|
58
51
|
|
59
|
-
#
|
60
|
-
|
61
|
-
|
62
|
-
# Define a custom write function that respects existing ANSI codes
|
63
|
-
def colored_write(text: str) -> None:
|
64
|
-
# Write the text as-is if it contains ANSI codes, otherwise apply shell_color
|
65
|
-
colored_text = colorize_output(text, shell_color)
|
66
|
-
original_write(colored_text)
|
67
|
-
|
68
|
-
# Temporarily replace stdout.write
|
69
|
-
sys.stdout.write = colored_write
|
70
|
-
|
71
|
-
# Start the interactive session
|
72
|
-
try:
|
73
|
-
console.interact(banner=banner, exitmsg=exitmsg)
|
74
|
-
finally:
|
75
|
-
# Ensure original stdout.write is restored even on exceptions
|
76
|
-
sys.stdout.write = original_write
|
77
|
-
|
52
|
+
# Run the interactive session without modifying sys.stdout
|
53
|
+
console.interact(banner=banner, exitmsg=exitmsg)
|
@@ -2,11 +2,11 @@ rgwfuncs/__init__.py,sha256=LSn54Tlyskcb6Wab_wUpPLB6UGMe5LdrB3GU88mDEbU,1712
|
|
2
2
|
rgwfuncs/algebra_lib.py,sha256=rKFITfpWfgdBswnbMUuS41XgndEt-jUVz2ObO_ik7eM,42234
|
3
3
|
rgwfuncs/df_lib.py,sha256=r6T-MwyDq9NAPW1Xf6NzSy7ZFicIKdemR-UKu6TZt5g,71111
|
4
4
|
rgwfuncs/docs_lib.py,sha256=y3wSAOPO3qsA4HZ7xAtW8HimM8w-c8hjcEzMRLJ96ao,1960
|
5
|
-
rgwfuncs/interactive_shell_lib.py,sha256=
|
5
|
+
rgwfuncs/interactive_shell_lib.py,sha256=IrffupCKUWtvzSmYa2jysHEwGsBMfAikZ0R7mWM2k90,2241
|
6
6
|
rgwfuncs/str_lib.py,sha256=rtAdRlnSJIu3JhI-tA_A0wCiPK2m-zn5RoGpBxv_g-4,2228
|
7
|
-
rgwfuncs-0.0.
|
8
|
-
rgwfuncs-0.0.
|
9
|
-
rgwfuncs-0.0.
|
10
|
-
rgwfuncs-0.0.
|
11
|
-
rgwfuncs-0.0.
|
12
|
-
rgwfuncs-0.0.
|
7
|
+
rgwfuncs-0.0.72.dist-info/LICENSE,sha256=jLvt20gcUZYB8UOvyBvyKQ1qhYYhD__qP7ZDx2lPFkU,1062
|
8
|
+
rgwfuncs-0.0.72.dist-info/METADATA,sha256=aKbIKDGnJrCGMQen7ZJguRsbxRA9PVJZKqmIiicc4Sc,60288
|
9
|
+
rgwfuncs-0.0.72.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
10
|
+
rgwfuncs-0.0.72.dist-info/entry_points.txt,sha256=j-c5IOPIQ0252EaOV6j6STio56sbXl2C4ym_fQ0lXx0,43
|
11
|
+
rgwfuncs-0.0.72.dist-info/top_level.txt,sha256=aGuVIzWsKiV1f2gCb6mynx0zx5ma0B1EwPGFKVEMTi4,9
|
12
|
+
rgwfuncs-0.0.72.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|