mbu-dev-shared-components 2.3.0__tar.gz → 2.4.2__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.
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/PKG-INFO +2 -2
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/appointment.py +9 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/base_ui.py +15 -6
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/document.py +1 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/edi_portal.py +17 -3
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/patient.py +5 -3
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components.egg-info/PKG-INFO +2 -2
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/pyproject.toml +6 -2
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/LICENSE +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/README.md +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/database/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/database/constants.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/database/logging.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/database/utility.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/getorganized/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/getorganized/auth.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/getorganized/cases.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/getorganized/contacts.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/getorganized/documents.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/getorganized/objects.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/google/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/google/api/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/google/api/auth.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/google/workspace/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/google/workspace/alerts.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/msoffice365/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/msoffice365/excel/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/msoffice365/excel/excel_reader.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/msoffice365/sharepoint_api/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/msoffice365/sharepoint_api/files.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/os2forms/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/os2forms/documents.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/os2forms/forms.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/romexis/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/romexis/db_handler.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/romexis/helper_functions.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/sap/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/sap/create_invoice.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/app_handler.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/clinic.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/event.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/exceptions.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/handler_base.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/application/journal_note.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/database/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/solteqtand/database/db_handler.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/utils/__init__.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/utils/db_stored_procedure_executor.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/utils/fernet_encryptor.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/utils/file_handler.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components/utils/json_handler.py +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components.egg-info/SOURCES.txt +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components.egg-info/dependency_links.txt +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components.egg-info/requires.txt +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/mbu_dev_shared_components.egg-info/top_level.txt +0 -0
- {mbu_dev_shared_components-2.3.0 → mbu_dev_shared_components-2.4.2}/setup.cfg +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mbu_dev_shared_components
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.2
|
|
4
4
|
Summary: Shared components to use in RPA projects
|
|
5
5
|
Author-email: MBU <rpa@mbu.aarhus.dk>
|
|
6
|
+
License-Expression: MIT
|
|
6
7
|
Classifier: Programming Language :: Python :: 3
|
|
7
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
8
8
|
Classifier: Operating System :: Microsoft :: Windows
|
|
9
9
|
Requires-Python: >=3.7
|
|
10
10
|
Description-Content-Type: text/markdown
|
|
@@ -276,6 +276,7 @@ class AppointmentHandler(HandlerBase):
|
|
|
276
276
|
"""
|
|
277
277
|
try:
|
|
278
278
|
self.open_tab("Stamkort")
|
|
279
|
+
self.open_sub_tab("Behandlingsstatus")
|
|
279
280
|
|
|
280
281
|
create_booking_button = self.wait_for_control(
|
|
281
282
|
auto.PaneControl,
|
|
@@ -304,6 +305,14 @@ class AppointmentHandler(HandlerBase):
|
|
|
304
305
|
case "Stol":
|
|
305
306
|
child.GetPattern(auto.PatternId.ValuePattern).SetValue(booking_reminder_data["comboBoxChair"])
|
|
306
307
|
|
|
308
|
+
# Fill out text booking field
|
|
309
|
+
text_booking_field_group = manage_booking.GroupControl(AutomationId="GroupBox5")
|
|
310
|
+
for child in text_booking_field_group.GetChildren():
|
|
311
|
+
match child.AutomationId:
|
|
312
|
+
case "TextBoxBookingText":
|
|
313
|
+
if child.GetPattern(auto.PatternId.ValuePattern).Value != booking_reminder_data["textBoxBookingText"]:
|
|
314
|
+
child.GetPattern(auto.PatternId.ValuePattern).SetValue(booking_reminder_data["textBoxBookingText"])
|
|
315
|
+
|
|
307
316
|
# Fill out date and time
|
|
308
317
|
date_and_time_group = manage_booking.GroupControl(AutomationId="GroupBox4")
|
|
309
318
|
|
|
@@ -23,10 +23,12 @@ class BaseUI:
|
|
|
23
23
|
children = control.GetChildren()
|
|
24
24
|
|
|
25
25
|
for child in children:
|
|
26
|
-
if (
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
if (
|
|
27
|
+
(control_type is None or child.ControlType == control_type) and
|
|
28
|
+
(automation_id is None or child.AutomationId == automation_id) and
|
|
29
|
+
(name is None or child.Name == name) and
|
|
30
|
+
(class_name is None or child.ClassName == class_name)
|
|
31
|
+
):
|
|
30
32
|
return child
|
|
31
33
|
|
|
32
34
|
found = self.find_element_by_property(child, control_type, automation_id, name, class_name)
|
|
@@ -96,5 +98,12 @@ class BaseUI:
|
|
|
96
98
|
raise TimeoutError(f"Control with parameters {search_params} did not disappear within the timeout period.")
|
|
97
99
|
|
|
98
100
|
def close_window(self, window_to_close: auto.WindowControl) -> None:
|
|
99
|
-
"""Closes specified window
|
|
100
|
-
window_to_close.
|
|
101
|
+
"""Closes specified window."""
|
|
102
|
+
window_to_close.SetFocus()
|
|
103
|
+
window_to_close.GetWindowPattern().Close()
|
|
104
|
+
|
|
105
|
+
pop_up_window = window_to_close.WindowControl(Name="TMT - Afslut")
|
|
106
|
+
pop_up_window.SetFocus()
|
|
107
|
+
pop_up_window.ButtonControl(Name="Ja").Click(simulateMove=False, waitTime=0)
|
|
108
|
+
|
|
109
|
+
time.sleep(2)
|
|
@@ -28,6 +28,8 @@ class EDIHandler(HandlerBase):
|
|
|
28
28
|
)
|
|
29
29
|
journalforsendelse_button.Click(simulateMove=False, waitTime=0)
|
|
30
30
|
|
|
31
|
+
time.sleep(5)
|
|
32
|
+
|
|
31
33
|
except Exception as e:
|
|
32
34
|
print(f"Error while opening EDI Portal: {e}")
|
|
33
35
|
|
|
@@ -70,7 +72,7 @@ class EDIHandler(HandlerBase):
|
|
|
70
72
|
if not next_button:
|
|
71
73
|
try:
|
|
72
74
|
next_button = self.wait_for_control(
|
|
73
|
-
auto.ButtonControl, {"
|
|
75
|
+
auto.ButtonControl, {"AutomationId": "patientInformationNextButton"},
|
|
74
76
|
search_depth=50,
|
|
75
77
|
timeout=5
|
|
76
78
|
)
|
|
@@ -97,6 +99,14 @@ class EDIHandler(HandlerBase):
|
|
|
97
99
|
dict: A dictionary containing the row count and whether the phone number matches.
|
|
98
100
|
"""
|
|
99
101
|
try:
|
|
102
|
+
# Handle Hasle Torv Clinic special case
|
|
103
|
+
if extern_clinic_data[0]["contractorId"] == "477052" or extern_clinic_data[0]["contractorId"] == "470678":
|
|
104
|
+
contractor_id = "485055"
|
|
105
|
+
clinic_phone_number = "86135240"
|
|
106
|
+
else:
|
|
107
|
+
contractor_id = extern_clinic_data[0]["contractorId"]
|
|
108
|
+
clinic_phone_number = extern_clinic_data[0]["phoneNumber"]
|
|
109
|
+
|
|
100
110
|
self.edi_portal_click_next_button(sleep_time=2)
|
|
101
111
|
|
|
102
112
|
class_options = [
|
|
@@ -120,7 +130,7 @@ class EDIHandler(HandlerBase):
|
|
|
120
130
|
raise RuntimeError("Search box not found")
|
|
121
131
|
search_box.SetFocus()
|
|
122
132
|
search_box_value_pattern = search_box.GetPattern(auto.PatternId.ValuePattern)
|
|
123
|
-
search_box_value_pattern.SetValue(
|
|
133
|
+
search_box_value_pattern.SetValue(contractor_id)
|
|
124
134
|
search_box.SendKeys("{ENTER}")
|
|
125
135
|
|
|
126
136
|
time.sleep(sleep_time)
|
|
@@ -134,10 +144,14 @@ class EDIHandler(HandlerBase):
|
|
|
134
144
|
row_count = grid_pattern.RowCount
|
|
135
145
|
|
|
136
146
|
is_phone_number_match = False
|
|
147
|
+
|
|
148
|
+
if grid_pattern.GetItem(1, 0).Name == "Ingen data i tabellen":
|
|
149
|
+
return {"rowCount": 0, "isPhoneNumberMatch": False}
|
|
150
|
+
|
|
137
151
|
if row_count > 0:
|
|
138
152
|
for row in range(row_count):
|
|
139
153
|
phone_number = grid_pattern.GetItem(row, 4).Name
|
|
140
|
-
if phone_number ==
|
|
154
|
+
if phone_number == clinic_phone_number:
|
|
141
155
|
is_phone_number_match = True
|
|
142
156
|
break
|
|
143
157
|
return {"rowCount": row_count, "isPhoneNumberMatch": is_phone_number_match}
|
|
@@ -112,13 +112,14 @@ class PatientHandler(HandlerBase):
|
|
|
112
112
|
TimeoutError: If the patient window does not close within the expected time.
|
|
113
113
|
"""
|
|
114
114
|
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
self.app_window.SetFocus()
|
|
116
|
+
self.app_window.GetWindowPattern().Close()
|
|
117
117
|
|
|
118
118
|
self.app_window = self.wait_for_control_to_disappear(
|
|
119
119
|
auto.WindowControl,
|
|
120
120
|
{'AutomationId': 'FormPatient'},
|
|
121
|
-
search_depth=2
|
|
121
|
+
search_depth=2,
|
|
122
|
+
timeout=30
|
|
122
123
|
)
|
|
123
124
|
|
|
124
125
|
self.app_window = self.wait_for_control(
|
|
@@ -127,6 +128,7 @@ class PatientHandler(HandlerBase):
|
|
|
127
128
|
search_depth=2,
|
|
128
129
|
timeout=5
|
|
129
130
|
)
|
|
131
|
+
self.app_window.SetFocus()
|
|
130
132
|
|
|
131
133
|
def change_status(self, status: str) -> None:
|
|
132
134
|
"""
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mbu_dev_shared_components
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.2
|
|
4
4
|
Summary: Shared components to use in RPA projects
|
|
5
5
|
Author-email: MBU <rpa@mbu.aarhus.dk>
|
|
6
|
+
License-Expression: MIT
|
|
6
7
|
Classifier: Programming Language :: Python :: 3
|
|
7
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
8
8
|
Classifier: Operating System :: Microsoft :: Windows
|
|
9
9
|
Requires-Python: >=3.7
|
|
10
10
|
Description-Content-Type: text/markdown
|
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
requires = ["setuptools>=65.0"]
|
|
3
3
|
build-backend = "setuptools.build_meta"
|
|
4
4
|
|
|
5
|
+
#[tool.setuptools]
|
|
6
|
+
#package-dir = { "" = "." }
|
|
7
|
+
#packages = ["mbu_dev_shared_components"]
|
|
8
|
+
|
|
5
9
|
[project]
|
|
6
10
|
name = "mbu_dev_shared_components"
|
|
7
|
-
version = "2.
|
|
11
|
+
version = "2.4.2" # Specify the version manually here
|
|
8
12
|
authors = [
|
|
9
13
|
{ name="MBU", email="rpa@mbu.aarhus.dk" },
|
|
10
14
|
]
|
|
@@ -13,9 +17,9 @@ readme = "README.md"
|
|
|
13
17
|
requires-python = ">=3.7"
|
|
14
18
|
classifiers = [
|
|
15
19
|
"Programming Language :: Python :: 3",
|
|
16
|
-
"License :: OSI Approved :: MIT License",
|
|
17
20
|
"Operating System :: Microsoft :: Windows",
|
|
18
21
|
]
|
|
22
|
+
license = "MIT"
|
|
19
23
|
dependencies = [
|
|
20
24
|
"openpyxl >= 3.1.2",
|
|
21
25
|
"pyodbc >= 5.1.0",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|