rgwfuncs 0.0.98__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 CHANGED
@@ -21,27 +21,38 @@ def send_telegram_message(preset_name: str, message: str, config: Optional[Union
21
21
  - dict: Direct configuration dictionary
22
22
 
23
23
  Raises:
24
- FileNotFoundError: If no '.rgwfuncsrc' file is found after traversing all parent directories.
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.
25
26
  RuntimeError: If the preset is not found or necessary details are missing.
26
- ValueError: If the config parameter is neither a path string nor a dictionary.
27
27
  """
28
28
  def get_config(config: Optional[Union[str, dict]] = None) -> dict:
29
29
  """Get configuration either from a path, direct dictionary, or by searching upwards."""
30
30
  def get_config_from_file(config_path: str) -> dict:
31
31
  """Load configuration from a JSON file."""
32
- with open(config_path, 'r') as file:
33
- return json.load(file)
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}")
34
42
 
35
43
  def find_config_file() -> str:
36
44
  """Search for '.rgwfuncsrc' in current directory and upwards."""
37
45
  current_dir = os.getcwd()
46
+ print(f"Starting config search from: {current_dir}") # Debug line
38
47
  while True:
39
48
  config_path = os.path.join(current_dir, '.rgwfuncsrc')
49
+ print(f"Checking for config at: {config_path}") # Debug line
40
50
  if os.path.isfile(config_path):
51
+ print(f"Found config at: {config_path}") # Debug line
41
52
  return config_path
42
53
  parent_dir = os.path.dirname(current_dir)
43
54
  if parent_dir == current_dir: # Reached root directory
44
- raise FileNotFoundError("No '.rgwfuncsrc' file found in current or parent directories")
55
+ raise FileNotFoundError(f"No '.rgwfuncsrc' file found in {os.getcwd()} or parent directories")
45
56
  current_dir = parent_dir
46
57
 
47
58
  # Determine the config to use
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rgwfuncs
3
- Version: 0.0.98
3
+ Version: 0.0.99
4
4
  Summary: A functional programming paradigm for mathematical modelling and data science
5
5
  Home-page: https://github.com/ryangerardwilson/rgwfunc
6
6
  Author: Ryan Gerard Wilson
@@ -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=Nho_MrRquDkgQL96huj8sw3OF2S6LCOwGsS_gd9h7lo,4029
7
- rgwfuncs-0.0.98.dist-info/licenses/LICENSE,sha256=jLvt20gcUZYB8UOvyBvyKQ1qhYYhD__qP7ZDx2lPFkU,1062
8
- rgwfuncs-0.0.98.dist-info/METADATA,sha256=XMYT6VoBy7sxoBlz4ReNZA1iENAnKQSSdHuAx3E5Gqk,62223
9
- rgwfuncs-0.0.98.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
10
- rgwfuncs-0.0.98.dist-info/entry_points.txt,sha256=j-c5IOPIQ0252EaOV6j6STio56sbXl2C4ym_fQ0lXx0,43
11
- rgwfuncs-0.0.98.dist-info/top_level.txt,sha256=aGuVIzWsKiV1f2gCb6mynx0zx5ma0B1EwPGFKVEMTi4,9
12
- rgwfuncs-0.0.98.dist-info/RECORD,,
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,,