mbu-dev-shared-components 0.0.37__tar.gz → 0.0.39__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.
Files changed (35) hide show
  1. {mbu_dev_shared_components-0.0.37/mbu_dev_shared_components.egg-info → mbu_dev_shared_components-0.0.39}/PKG-INFO +1 -1
  2. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/utils/db_stored_procedure_executor.py +28 -1
  3. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39/mbu_dev_shared_components.egg-info}/PKG-INFO +1 -1
  4. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components.egg-info/SOURCES.txt +1 -2
  5. mbu_dev_shared_components-0.0.37/mbu_dev_shared_components/utils/__init__.py +0 -0
  6. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/.gitignore +0 -0
  7. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/LICENSE +0 -0
  8. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/README.md +0 -0
  9. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/getorganized/__init__.py +0 -0
  10. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/getorganized/auth.py +0 -0
  11. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/getorganized/cases.py +0 -0
  12. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/getorganized/contacts.py +0 -0
  13. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/getorganized/documents.py +0 -0
  14. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/getorganized/objects.py +0 -0
  15. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/google/__init__.py +0 -0
  16. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/google/api/__init__.py +0 -0
  17. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/google/api/auth.py +0 -0
  18. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/google/workspace/__init__.py +0 -0
  19. {mbu_dev_shared_components-0.0.37/mbu_dev_shared_components/google/workspace/dlp → mbu_dev_shared_components-0.0.39/mbu_dev_shared_components/google/workspace}/alerts.py +0 -0
  20. {mbu_dev_shared_components-0.0.37/mbu_dev_shared_components/google/workspace/dlp → mbu_dev_shared_components-0.0.39/mbu_dev_shared_components/office365}/__init__.py +0 -0
  21. {mbu_dev_shared_components-0.0.37/mbu_dev_shared_components/office365 → mbu_dev_shared_components-0.0.39/mbu_dev_shared_components/office365/excel}/__init__.py +0 -0
  22. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/office365/excel/excel_reader.py +0 -0
  23. {mbu_dev_shared_components-0.0.37/mbu_dev_shared_components/office365/excel → mbu_dev_shared_components-0.0.39/mbu_dev_shared_components/office365/sharepoint_api}/__init__.py +0 -0
  24. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/office365/sharepoint_api/files.py +0 -0
  25. {mbu_dev_shared_components-0.0.37/mbu_dev_shared_components/office365/sharepoint_api → mbu_dev_shared_components-0.0.39/mbu_dev_shared_components/os2forms}/__init__.py +0 -0
  26. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/os2forms/documents.py +0 -0
  27. {mbu_dev_shared_components-0.0.37/mbu_dev_shared_components/os2forms → mbu_dev_shared_components-0.0.39/mbu_dev_shared_components/sap}/__init__.py +0 -0
  28. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/sap/create_invoice.py +0 -0
  29. {mbu_dev_shared_components-0.0.37/mbu_dev_shared_components/sap → mbu_dev_shared_components-0.0.39/mbu_dev_shared_components/utils}/__init__.py +0 -0
  30. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components/utils/json_handler.py +0 -0
  31. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components.egg-info/dependency_links.txt +0 -0
  32. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components.egg-info/requires.txt +0 -0
  33. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/mbu_dev_shared_components.egg-info/top_level.txt +0 -0
  34. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/pyproject.toml +0 -0
  35. {mbu_dev_shared_components-0.0.37 → mbu_dev_shared_components-0.0.39}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mbu_dev_shared_components
3
- Version: 0.0.37
3
+ Version: 0.0.39
4
4
  Summary: Shared components to use in RPA projects
5
5
  Author-email: MBU <rpa@mbu.aarhus.dk>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -5,6 +5,8 @@ procedure with provided parameters, returning the success status and any error m
5
5
  """
6
6
  import pyodbc
7
7
  from typing import Dict, Any, Union
8
+ from datetime import datetime
9
+ from dateutil import parser
8
10
 
9
11
 
10
12
  def execute_stored_procedure(connection_string: str, stored_procedure: str, params: Dict[str, Any]) -> Dict[str, Union[bool, str, Any]]:
@@ -15,6 +17,7 @@ def execute_stored_procedure(connection_string: str, stored_procedure: str, para
15
17
  connection_string (str): The connection string to connect to the database.
16
18
  stored_procedure (str): The name of the stored procedure to execute.
17
19
  params (Dict[str, Any]): A dictionary of parameters to pass to the stored procedure.
20
+ Each value should be a tuple of (type, actual_value).
18
21
 
19
22
  Returns:
20
23
  Dict[str, Union[bool, str, Any]]: A dictionary containing the success status, an error message (if any),
@@ -24,16 +27,40 @@ def execute_stored_procedure(connection_string: str, stored_procedure: str, para
24
27
  "success": False,
25
28
  "error_message": None,
26
29
  }
30
+
31
+ type_mapping = {
32
+ "str": str,
33
+ "int": int,
34
+ "float": float,
35
+ "datetime": lambda x: parser.isoparse(x),
36
+ # Add more types if needed
37
+ }
38
+
27
39
  try:
28
40
  with pyodbc.connect(connection_string) as conn:
29
41
  with conn.cursor() as cursor:
30
42
  param_placeholders = ', '.join([f"@{key} = ?" for key in params.keys()])
43
+ param_values = []
44
+
45
+ for key, value in params.items():
46
+ if isinstance(value, tuple) and len(value) == 2:
47
+ value_type, actual_value = value
48
+ if value_type in type_mapping:
49
+ param_values.append(type_mapping[value_type](actual_value))
50
+ else:
51
+ param_values.append(actual_value)
52
+ else:
53
+ raise ValueError("Each parameter value must be a tuple of (type, actual_value).")
54
+
31
55
  sql = f"EXEC {stored_procedure} {param_placeholders}"
32
- cursor.execute(sql, tuple(params.values()))
56
+ cursor.execute(sql, tuple(param_values))
33
57
  conn.commit()
34
58
  result["success"] = True
35
59
  except pyodbc.Error as e:
36
60
  result["error_message"] = f"Database error: {str(e)}"
61
+ except ValueError as e:
62
+ result["error_message"] = f"Value error: {str(e)}"
37
63
  except Exception as e:
38
64
  result["error_message"] = f"An unexpected error occurred: {str(e)}"
65
+
39
66
  return result
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mbu_dev_shared_components
3
- Version: 0.0.37
3
+ Version: 0.0.39
4
4
  Summary: Shared components to use in RPA projects
5
5
  Author-email: MBU <rpa@mbu.aarhus.dk>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -17,8 +17,7 @@ mbu_dev_shared_components/google/__init__.py
17
17
  mbu_dev_shared_components/google/api/__init__.py
18
18
  mbu_dev_shared_components/google/api/auth.py
19
19
  mbu_dev_shared_components/google/workspace/__init__.py
20
- mbu_dev_shared_components/google/workspace/dlp/__init__.py
21
- mbu_dev_shared_components/google/workspace/dlp/alerts.py
20
+ mbu_dev_shared_components/google/workspace/alerts.py
22
21
  mbu_dev_shared_components/office365/__init__.py
23
22
  mbu_dev_shared_components/office365/excel/__init__.py
24
23
  mbu_dev_shared_components/office365/excel/excel_reader.py