osbot-utils 1.85.0__py3-none-any.whl → 1.86.0__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.
@@ -1,5 +1,6 @@
1
- import inspect # For function introspection
2
- from typing import get_args, get_origin, Optional, Union, List, Any, Dict # For type hinting utilities
1
+ import inspect # For function introspection
2
+ from enum import Enum
3
+ from typing import get_args, get_origin, Optional, Union, List, Any, Dict # For type hinting utilities
3
4
 
4
5
 
5
6
  class Type_Safe_Method: # Class to handle method type safety validation
@@ -86,17 +87,23 @@ class Type_Safe_Method:
86
87
  if not any(isinstance(param_value, arg_type) for arg_type in args_types): # Check if value matches any type
87
88
  raise ValueError(f"Parameter '{param_name}' expected one of types {args_types}, but got {type(param_value)}") # Raise error if no match
88
89
 
89
- def try_basic_type_conversion(self, param_value: Any, # Try to convert basic types
90
- expected_type: Any, param_name: str, # Conversion parameters
91
- bound_args) -> bool: # Return success flag
92
- if type(param_value) in [int, str]: # Check if basic type
93
- try: # Attempt conversion
94
- converted_value = expected_type(param_value) # Convert value
95
- bound_args.arguments[param_name] = converted_value # Update bound arguments
96
- return True # Return success
97
- except Exception: # Handle conversion failure
98
- pass # Continue without conversion
99
- return False # Return failure
90
+ def try_basic_type_conversion(self, param_value: Any, expected_type: Any, param_name: str,bound_args) -> bool: # Try to convert basic types
91
+ if type(param_value) in [int, str]: # Check if basic type
92
+ try: # Attempt conversion
93
+ converted_value = expected_type(param_value) # Convert value
94
+ bound_args.arguments[param_name] = converted_value # Update bound arguments
95
+ return True # Return success
96
+ except Exception: # Handle conversion failure
97
+ pass # Continue without conversion
98
+ elif isinstance(param_value, Enum): # Check if value is an Enum
99
+ try:
100
+ if issubclass(expected_type, str): # If expecting string type
101
+ bound_args.arguments[param_name] = param_value.value # Use enum's value
102
+ return True # Return success
103
+ except Exception: # Handle conversion failure
104
+ pass # Continue without conversion
105
+ return False # Return failure
106
+ # Return failure
100
107
 
101
108
  def validate_direct_type(self, param_name: str, # Validate direct type match
102
109
  param_value: Any, expected_type: Any): # Type parameters
osbot_utils/version CHANGED
@@ -1 +1 @@
1
- v1.85.0
1
+ v1.86.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: osbot_utils
3
- Version: 1.85.0
3
+ Version: 1.86.0
4
4
  Summary: OWASP Security Bot - Utils
5
5
  Home-page: https://github.com/owasp-sbot/OSBot-Utils
6
6
  License: MIT
@@ -23,7 +23,7 @@ Description-Content-Type: text/markdown
23
23
 
24
24
  Powerful Python util methods and classes that simplify common apis and tasks.
25
25
 
26
- ![Current Release](https://img.shields.io/badge/release-v1.85.0-blue)
26
+ ![Current Release](https://img.shields.io/badge/release-v1.86.0-blue)
27
27
  [![codecov](https://codecov.io/gh/owasp-sbot/OSBot-Utils/graph/badge.svg?token=GNVW0COX1N)](https://codecov.io/gh/owasp-sbot/OSBot-Utils)
28
28
 
29
29
 
@@ -72,7 +72,7 @@ osbot_utils/helpers/Random_Seed.py,sha256=14btja8LDN9cMGWaz4fCNcMRU_eyx49gas-_PQ
72
72
  osbot_utils/helpers/Safe_Id.py,sha256=JbpBWF57Inoq8MgSx1NUy_fjQdpXDjYEp00_MrS5yjs,364
73
73
  osbot_utils/helpers/Timestamp_Now.py,sha256=k3-SUGYx2jLTXvgZYeECqPRJhVxqWPmW7co1l6r12jk,438
74
74
  osbot_utils/helpers/Type_Registry.py,sha256=Ajk3SyMSKDi2g9SJYUtTgg7PZkAgydaHcpbGuEN3S94,311
75
- osbot_utils/helpers/Type_Safe_Method.py,sha256=KxOSZyyDlXgbrYVSC06cLOSWU1W-6OjfgvICElr7dC0,9398
75
+ osbot_utils/helpers/Type_Safe_Method.py,sha256=8E88of__An9_ZhJKz6Kp22C1mb9WLED0jWNLOII3fJs,10489
76
76
  osbot_utils/helpers/Zip_Bytes.py,sha256=KB5zWfCf6ET4alNfqNrSp5DxZ3Jp9oDHpc6tK2iO_qg,4320
77
77
  osbot_utils/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
78
  osbot_utils/helpers/ast/Ast.py,sha256=lcPQOSxXI6zgmMnIVF9WM6ISqViWX-sq4d_UC0CDG8s,1155
@@ -313,8 +313,8 @@ osbot_utils/utils/Toml.py,sha256=Rxl8gx7mni5CvBAK-Ai02EKw-GwtJdd3yeHT2kMloik,166
313
313
  osbot_utils/utils/Version.py,sha256=Ww6ChwTxqp1QAcxOnztkTicShlcx6fbNsWX5xausHrg,422
314
314
  osbot_utils/utils/Zip.py,sha256=pR6sKliUY0KZXmqNzKY2frfW-YVQEVbLKiyqQX_lc-8,14052
315
315
  osbot_utils/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
316
- osbot_utils/version,sha256=9gfCVMbocVGKQ8FmB46Wzy0Y8AslnpG61LzqgEfOm7M,8
317
- osbot_utils-1.85.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
318
- osbot_utils-1.85.0.dist-info/METADATA,sha256=2gl4sJgIXuBPQJjhwb1UMU75bGgJvhal3jXKdYQeQ7E,1317
319
- osbot_utils-1.85.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
320
- osbot_utils-1.85.0.dist-info/RECORD,,
316
+ osbot_utils/version,sha256=FICmlAgRudMlQWbhrWHgE2FJhfMxxoZDQKJx3Vb_bCg,8
317
+ osbot_utils-1.86.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
318
+ osbot_utils-1.86.0.dist-info/METADATA,sha256=UzS_UAyqMxFY7sHUJaADcG-n2JX4ch7LJoSeiGKzGhA,1317
319
+ osbot_utils-1.86.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
320
+ osbot_utils-1.86.0.dist-info/RECORD,,