rgwfuncs 0.0.97__py3-none-any.whl → 0.0.99__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/str_lib.py +32 -9
- {rgwfuncs-0.0.97.dist-info → rgwfuncs-0.0.99.dist-info}/METADATA +1 -1
- {rgwfuncs-0.0.97.dist-info → rgwfuncs-0.0.99.dist-info}/RECORD +7 -7
- {rgwfuncs-0.0.97.dist-info → rgwfuncs-0.0.99.dist-info}/WHEEL +0 -0
- {rgwfuncs-0.0.97.dist-info → rgwfuncs-0.0.99.dist-info}/entry_points.txt +0 -0
- {rgwfuncs-0.0.97.dist-info → rgwfuncs-0.0.99.dist-info}/licenses/LICENSE +0 -0
- {rgwfuncs-0.0.97.dist-info → rgwfuncs-0.0.99.dist-info}/top_level.txt +0 -0
rgwfuncs/str_lib.py
CHANGED
@@ -16,25 +16,49 @@ def send_telegram_message(preset_name: str, message: str, config: Optional[Union
|
|
16
16
|
preset_name (str): The name of the preset to use for sending the message.
|
17
17
|
message (str): The message to send.
|
18
18
|
config (Optional[Union[str, dict]], optional): Configuration source. Can be:
|
19
|
-
- None:
|
19
|
+
- None: Searches for '.rgwfuncsrc' in current directory and upwards
|
20
20
|
- str: Path to a JSON configuration file
|
21
21
|
- dict: Direct configuration dictionary
|
22
22
|
|
23
23
|
Raises:
|
24
|
+
FileNotFoundError: If no '.rgwfuncsrc' file is found in current or parent directories.
|
25
|
+
ValueError: If the config parameter is neither a path string nor a dictionary, or if the config file is empty/invalid.
|
24
26
|
RuntimeError: If the preset is not found or necessary details are missing.
|
25
27
|
"""
|
26
|
-
|
27
28
|
def get_config(config: Optional[Union[str, dict]] = None) -> dict:
|
28
|
-
"""Get
|
29
|
+
"""Get configuration either from a path, direct dictionary, or by searching upwards."""
|
29
30
|
def get_config_from_file(config_path: str) -> dict:
|
30
31
|
"""Load configuration from a JSON file."""
|
31
|
-
|
32
|
-
|
32
|
+
print(f"Reading config from: {config_path}") # Debug line
|
33
|
+
with open(config_path, 'r', encoding='utf-8') as file:
|
34
|
+
content = file.read()
|
35
|
+
print(f"Config content (first 100 chars): {content[:100]}...") # Debug line
|
36
|
+
if not content.strip():
|
37
|
+
raise ValueError(f"Config file {config_path} is empty")
|
38
|
+
try:
|
39
|
+
return json.loads(content)
|
40
|
+
except json.JSONDecodeError as e:
|
41
|
+
raise ValueError(f"Invalid JSON in config file {config_path}: {e}")
|
42
|
+
|
43
|
+
def find_config_file() -> str:
|
44
|
+
"""Search for '.rgwfuncsrc' in current directory and upwards."""
|
45
|
+
current_dir = os.getcwd()
|
46
|
+
print(f"Starting config search from: {current_dir}") # Debug line
|
47
|
+
while True:
|
48
|
+
config_path = os.path.join(current_dir, '.rgwfuncsrc')
|
49
|
+
print(f"Checking for config at: {config_path}") # Debug line
|
50
|
+
if os.path.isfile(config_path):
|
51
|
+
print(f"Found config at: {config_path}") # Debug line
|
52
|
+
return config_path
|
53
|
+
parent_dir = os.path.dirname(current_dir)
|
54
|
+
if parent_dir == current_dir: # Reached root directory
|
55
|
+
raise FileNotFoundError(f"No '.rgwfuncsrc' file found in {os.getcwd()} or parent directories")
|
56
|
+
current_dir = parent_dir
|
33
57
|
|
34
58
|
# Determine the config to use
|
35
59
|
if config is None:
|
36
|
-
#
|
37
|
-
config_path =
|
60
|
+
# Search for .rgwfuncsrc upwards from current directory
|
61
|
+
config_path = find_config_file()
|
38
62
|
return get_config_from_file(config_path)
|
39
63
|
elif isinstance(config, str):
|
40
64
|
# If config is a string, treat it as a path and load it
|
@@ -53,8 +77,7 @@ def send_telegram_message(preset_name: str, message: str, config: Optional[Union
|
|
53
77
|
return preset
|
54
78
|
return None
|
55
79
|
|
56
|
-
def get_telegram_bot_details(
|
57
|
-
config: dict, preset_name: str) -> Tuple[str, str]:
|
80
|
+
def get_telegram_bot_details(config: dict, preset_name: str) -> Tuple[str, str]:
|
58
81
|
"""Retrieve the Telegram bot token and chat ID from the preset."""
|
59
82
|
preset = get_telegram_preset(config, preset_name)
|
60
83
|
if not preset:
|
@@ -3,10 +3,10 @@ rgwfuncs/algebra_lib.py,sha256=rKFITfpWfgdBswnbMUuS41XgndEt-jUVz2ObO_ik7eM,42234
|
|
3
3
|
rgwfuncs/df_lib.py,sha256=3foomRHlunCpf_accTcqfdgwDmSPIVkVCnlWJ4ag4XQ,76947
|
4
4
|
rgwfuncs/docs_lib.py,sha256=i63NzX-V8cGhikYdtkRGAEe2VcuwpXxDUyTRa9xI7l8,1972
|
5
5
|
rgwfuncs/interactive_shell_lib.py,sha256=YN0ZnM5twIsOeDKuOQ9ZGURCvvBX0RZjM4a1vO1C3E8,4281
|
6
|
-
rgwfuncs/str_lib.py,sha256=
|
7
|
-
rgwfuncs-0.0.
|
8
|
-
rgwfuncs-0.0.
|
9
|
-
rgwfuncs-0.0.
|
10
|
-
rgwfuncs-0.0.
|
11
|
-
rgwfuncs-0.0.
|
12
|
-
rgwfuncs-0.0.
|
6
|
+
rgwfuncs/str_lib.py,sha256=Nhpw3bpVASVPd7UlyIqtyBSmvqKk1FSuj7KRWSlowiw,4804
|
7
|
+
rgwfuncs-0.0.99.dist-info/licenses/LICENSE,sha256=jLvt20gcUZYB8UOvyBvyKQ1qhYYhD__qP7ZDx2lPFkU,1062
|
8
|
+
rgwfuncs-0.0.99.dist-info/METADATA,sha256=bzcFyWtxOIYWEjVYrV-fz8kkvCTER-qtrLdrsf3APNI,62223
|
9
|
+
rgwfuncs-0.0.99.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
10
|
+
rgwfuncs-0.0.99.dist-info/entry_points.txt,sha256=j-c5IOPIQ0252EaOV6j6STio56sbXl2C4ym_fQ0lXx0,43
|
11
|
+
rgwfuncs-0.0.99.dist-info/top_level.txt,sha256=aGuVIzWsKiV1f2gCb6mynx0zx5ma0B1EwPGFKVEMTi4,9
|
12
|
+
rgwfuncs-0.0.99.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|