IO4IT 4.0.0__tar.gz → 4.0.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.
- {io4it-4.0.0 → io4it-4.0.2}/PKG-INFO +1 -1
- {io4it-4.0.0 → io4it-4.0.2}/io4it.egg-info/PKG-INFO +1 -1
- {io4it-4.0.0 → io4it-4.0.2}/io4it.egg-info/SOURCES.txt +2 -0
- io4it-4.0.2/orangecontrib/IO4IT/toolViews/designer/link_workflow_manager_ui.ui +138 -0
- io4it-4.0.2/orangecontrib/IO4IT/toolViews/linkHTLMWorkflow_manager_ui.py +273 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/utils/mail.py +1 -1
- {io4it-4.0.0 → io4it-4.0.2}/setup.py +1 -1
- {io4it-4.0.0 → io4it-4.0.2}/io4it.egg-info/dependency_links.txt +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/io4it.egg-info/entry_points.txt +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/io4it.egg-info/namespace_packages.txt +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/io4it.egg-info/requires.txt +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/io4it.egg-info/top_level.txt +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/__init__.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/ocr_function/__init__.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/ocr_function/word_converter.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/toolViews/designer/key_manager_ui.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/toolViews/key_manager_ui.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/utils/__init__.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/utils/keys_manager.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/utils/pool_exec_utils.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/utils/secret_manager.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/utils/utils_md.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWChatGpt.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWDeep_Search.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWDoclingToMarkdown.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWExportMarkdown.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWExtractTablesDocxToXlsx.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWInboxMailMonitoring.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWJsonToDataTable.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWMD2HTML.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWMarkdownLoader.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWMarkdownizer.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWOfficeNormalizer.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWParserHTML.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWPdfType.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWProcessPoolExecutor.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWS3Uploader.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWS3downloader.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWS3list.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWWebSearch.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWmailLoader.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWmailSender.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/OWwordpdf2docx.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/__init__.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/__init__.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/nogui.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/ow_extract_tables_docx_to_xlsx.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/ow_file_ext_selector.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/ow_json_to_data_table.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owchatgpt.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owdeepsearch.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owdoclingasr.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owdoclingtomarkdown.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owexportmarkdown.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owinboxmailmonitoring.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owmailloader.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owmailsender.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owmarkdownizer.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owmarkdownloader.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owmd2html.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owofficenormalizer.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owparserhtml.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owpdftype.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owprocesspoolexecutor.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owspeechtotext.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owvisualizationer.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/owwebsearch.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/wordpdf2docx.ui +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/__init__.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/chatgpt.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/check_pdf.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/deepsearch.svg +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/dep_md_old.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/download.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/export_md.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/extract_table.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/file_extensor.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/html.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/json-file.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/list_aws.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/load_md.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/mail_loader.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/mail_writer.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/md.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/monitor-email.svg +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/office_normalizer.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/owmd2html.svg +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/process_pool_executor.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/speech_to_text.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/upload.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/visualizationer.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/websearch.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons/wordpdf2docx.png +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/icons_dev/__init__.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/orangecontrib/__init__.py +0 -0
- {io4it-4.0.0 → io4it-4.0.2}/setup.cfg +0 -0
|
@@ -39,7 +39,9 @@ orangecontrib/IO4IT/widgets/OWmailSender.py
|
|
|
39
39
|
orangecontrib/IO4IT/widgets/OWwordpdf2docx.py
|
|
40
40
|
orangecontrib/IO4IT/widgets/__init__.py
|
|
41
41
|
orangecontrib/IO4IT/widgets/../toolViews/key_manager_ui.py
|
|
42
|
+
orangecontrib/IO4IT/widgets/../toolViews/linkHTLMWorkflow_manager_ui.py
|
|
42
43
|
orangecontrib/IO4IT/widgets/../toolViews/designer/key_manager_ui.ui
|
|
44
|
+
orangecontrib/IO4IT/widgets/../toolViews/designer/link_workflow_manager_ui.ui
|
|
43
45
|
orangecontrib/IO4IT/widgets/designer/__init__.py
|
|
44
46
|
orangecontrib/IO4IT/widgets/designer/nogui.ui
|
|
45
47
|
orangecontrib/IO4IT/widgets/designer/ow_extract_tables_docx_to_xlsx.ui
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<ui version="4.0">
|
|
3
|
+
<class>LinkHTMLWorkflowManagerUI</class>
|
|
4
|
+
<widget class="QDialog" name="LinkHTMLWorkflowManagerUI">
|
|
5
|
+
<property name="geometry">
|
|
6
|
+
<rect>
|
|
7
|
+
<x>0</x>
|
|
8
|
+
<y>0</y>
|
|
9
|
+
<width>377</width>
|
|
10
|
+
<height>389</height>
|
|
11
|
+
</rect>
|
|
12
|
+
</property>
|
|
13
|
+
<property name="windowTitle">
|
|
14
|
+
<string>LinkHTMLWorkflow Manager</string>
|
|
15
|
+
</property>
|
|
16
|
+
<property name="styleSheet">
|
|
17
|
+
<string notr="true">
|
|
18
|
+
QDialog {
|
|
19
|
+
background-color: #f5f7fa;
|
|
20
|
+
font-family: "Segoe UI", "Helvetica Neue", Arial;
|
|
21
|
+
font-size: 10pt;
|
|
22
|
+
}
|
|
23
|
+
QLabel {
|
|
24
|
+
font-size: 11pt;
|
|
25
|
+
font-weight: 600;
|
|
26
|
+
color: #333333;
|
|
27
|
+
}
|
|
28
|
+
QComboBox {
|
|
29
|
+
padding: 6px;
|
|
30
|
+
border-radius: 6px;
|
|
31
|
+
border: 1px solid #c0c4cc;
|
|
32
|
+
background: #ffffff;
|
|
33
|
+
}
|
|
34
|
+
QComboBox:hover {
|
|
35
|
+
border: 1px solid #409eff;
|
|
36
|
+
}
|
|
37
|
+
QPushButton {
|
|
38
|
+
min-width: 90px;
|
|
39
|
+
padding: 6px 12px;
|
|
40
|
+
border-radius: 6px;
|
|
41
|
+
border: 1px solid #dcdfe6;
|
|
42
|
+
background-color: #ffffff;
|
|
43
|
+
}
|
|
44
|
+
QPushButton:hover {
|
|
45
|
+
border: 1px solid #409eff;
|
|
46
|
+
}
|
|
47
|
+
</string>
|
|
48
|
+
</property>
|
|
49
|
+
<layout class="QVBoxLayout" name="verticalLayout">
|
|
50
|
+
<property name="spacing">
|
|
51
|
+
<number>12</number>
|
|
52
|
+
</property>
|
|
53
|
+
<property name="leftMargin">
|
|
54
|
+
<number>20</number>
|
|
55
|
+
</property>
|
|
56
|
+
<property name="topMargin">
|
|
57
|
+
<number>20</number>
|
|
58
|
+
</property>
|
|
59
|
+
<property name="rightMargin">
|
|
60
|
+
<number>20</number>
|
|
61
|
+
</property>
|
|
62
|
+
<property name="bottomMargin">
|
|
63
|
+
<number>20</number>
|
|
64
|
+
</property>
|
|
65
|
+
<item>
|
|
66
|
+
<widget class="QLabel" name="labelTitle">
|
|
67
|
+
<property name="text">
|
|
68
|
+
<string>Select an action:</string>
|
|
69
|
+
</property>
|
|
70
|
+
</widget>
|
|
71
|
+
</item>
|
|
72
|
+
<item>
|
|
73
|
+
<widget class="QComboBox" name="comboActions">
|
|
74
|
+
<property name="editable">
|
|
75
|
+
<bool>false</bool>
|
|
76
|
+
</property>
|
|
77
|
+
</widget>
|
|
78
|
+
</item>
|
|
79
|
+
<item>
|
|
80
|
+
<widget class="QLabel" name="labelMode">
|
|
81
|
+
<property name="text">
|
|
82
|
+
<string>Key :</string>
|
|
83
|
+
</property>
|
|
84
|
+
</widget>
|
|
85
|
+
</item>
|
|
86
|
+
<item>
|
|
87
|
+
<widget class="QComboBox" name="comboMode">
|
|
88
|
+
<property name="editable">
|
|
89
|
+
<bool>false</bool>
|
|
90
|
+
</property>
|
|
91
|
+
</widget>
|
|
92
|
+
</item>
|
|
93
|
+
<item>
|
|
94
|
+
<widget class="QPushButton" name="pushButton_read">
|
|
95
|
+
<property name="text">
|
|
96
|
+
<string>Read</string>
|
|
97
|
+
</property>
|
|
98
|
+
</widget>
|
|
99
|
+
</item>
|
|
100
|
+
<item>
|
|
101
|
+
<widget class="QTextEdit" name="textDetails">
|
|
102
|
+
<property name="placeholderText">
|
|
103
|
+
<string>Optional notes, description or configuration details...</string>
|
|
104
|
+
</property>
|
|
105
|
+
</widget>
|
|
106
|
+
</item>
|
|
107
|
+
<item>
|
|
108
|
+
<spacer name="verticalSpacer">
|
|
109
|
+
<property name="orientation">
|
|
110
|
+
<enum>Qt::Vertical</enum>
|
|
111
|
+
</property>
|
|
112
|
+
<property name="sizeHint" stdset="0">
|
|
113
|
+
<size>
|
|
114
|
+
<width>20</width>
|
|
115
|
+
<height>20</height>
|
|
116
|
+
</size>
|
|
117
|
+
</property>
|
|
118
|
+
</spacer>
|
|
119
|
+
</item>
|
|
120
|
+
<item>
|
|
121
|
+
<widget class="QPushButton" name="pushButton_write">
|
|
122
|
+
<property name="text">
|
|
123
|
+
<string>Write / Overwrite (⚠️ No confirmation)</string>
|
|
124
|
+
</property>
|
|
125
|
+
</widget>
|
|
126
|
+
</item>
|
|
127
|
+
<item>
|
|
128
|
+
<widget class="QPushButton" name="pushButton_delete">
|
|
129
|
+
<property name="text">
|
|
130
|
+
<string>Delete (⚠️ No confirmation)</string>
|
|
131
|
+
</property>
|
|
132
|
+
</widget>
|
|
133
|
+
</item>
|
|
134
|
+
</layout>
|
|
135
|
+
</widget>
|
|
136
|
+
<resources/>
|
|
137
|
+
<connections/>
|
|
138
|
+
</ui>
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import json
|
|
3
|
+
from AnyQt import QtWidgets
|
|
4
|
+
import sys
|
|
5
|
+
import ast
|
|
6
|
+
|
|
7
|
+
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
8
|
+
from Orange.widgets.orangecontrib.AAIT.utils import MetManagement
|
|
9
|
+
from Orange.widgets.orangecontrib.AAIT.utils.import_uic import uic
|
|
10
|
+
from Orange.widgets.orangecontrib.HLIT_dev.remote_server_smb import convert, hlit_workflow_management
|
|
11
|
+
else:
|
|
12
|
+
from orangecontrib.AAIT.utils import MetManagement
|
|
13
|
+
from orangecontrib.AAIT.utils.import_uic import uic
|
|
14
|
+
from orangecontrib.HLIT_dev.remote_server_smb import convert, hlit_workflow_management
|
|
15
|
+
|
|
16
|
+
FUNCTION_NAMES = [
|
|
17
|
+
"Create",
|
|
18
|
+
"Update",
|
|
19
|
+
"Delete"
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
class LinkWorkflowManagerUI(QtWidgets.QDialog):
|
|
23
|
+
def __init__(self, parent=None):
|
|
24
|
+
super().__init__(parent)
|
|
25
|
+
the_gui = os.path.join(os.path.dirname(os.path.abspath(__file__)), "designer/link_workflow_manager_ui.ui")
|
|
26
|
+
the_gui=the_gui.replace("\\","/")
|
|
27
|
+
uic.loadUi(the_gui, self)
|
|
28
|
+
|
|
29
|
+
self.folder_path = None
|
|
30
|
+
self.list_key_name = None
|
|
31
|
+
self.list_config_html_ows = None
|
|
32
|
+
|
|
33
|
+
# Remplir la combo
|
|
34
|
+
self.comboActions.addItems(FUNCTION_NAMES)
|
|
35
|
+
|
|
36
|
+
# signaux OK / Cancel
|
|
37
|
+
self.comboActions.currentTextChanged.connect(self.on_current_text_changed)
|
|
38
|
+
self.comboMode.currentTextChanged.connect(self.on_current_comboMode_changed)
|
|
39
|
+
#self.pushButton_read.clicked.connect(self.populate_textDetails)
|
|
40
|
+
self.pushButton_delete.clicked.connect(self.handle_delete_clicked)
|
|
41
|
+
self.pushButton_write.clicked.connect(self.handle_write_clicked)
|
|
42
|
+
# self.pushButton_sync.clicked.connect(self.handle_pushButton_sync_clicked)
|
|
43
|
+
self.adjustSize()
|
|
44
|
+
self.setFixedSize(self.size())
|
|
45
|
+
self.comboMode.setVisible(False)
|
|
46
|
+
self.labelMode.setVisible(False)
|
|
47
|
+
self.pushButton_read.setVisible(False)
|
|
48
|
+
self.pushButton_delete.setVisible(False)
|
|
49
|
+
self.pushButton_write.setVisible(True)
|
|
50
|
+
self.set_stdtextDetails("Create")
|
|
51
|
+
self.run()
|
|
52
|
+
|
|
53
|
+
def set_stdtextDetails(self, func_name):
|
|
54
|
+
if func_name == "Create":
|
|
55
|
+
self.textDetails.setText(
|
|
56
|
+
'{\n"name": "",\n"description": "",\n"ows_file": "",\n"html_file": "",\n"with_gui": "True",\n"with_terminal": "True",\n"daemonizable": "True",\n"timeout_daemon": 60\n}')
|
|
57
|
+
else:
|
|
58
|
+
self.textDetails.setText("")
|
|
59
|
+
|
|
60
|
+
def get_list_of_key_name(self, list_config_html_ows):
|
|
61
|
+
key_name = []
|
|
62
|
+
for item in list_config_html_ows:
|
|
63
|
+
if "name" in item:
|
|
64
|
+
key_name.append(item["name"])
|
|
65
|
+
return key_name
|
|
66
|
+
|
|
67
|
+
def create_new_config_linkHTMLWorkflow(self, new_config):
|
|
68
|
+
if isinstance(new_config, str):
|
|
69
|
+
new_config = json.loads(new_config)
|
|
70
|
+
|
|
71
|
+
if not new_config.get("name") or not new_config.get("ows_file"):
|
|
72
|
+
print("You need to define the name and the path to the ows file")
|
|
73
|
+
return
|
|
74
|
+
|
|
75
|
+
if ".ows" not in new_config.get("ows_file"):
|
|
76
|
+
print("You need to provide a ows file")
|
|
77
|
+
return
|
|
78
|
+
|
|
79
|
+
if 0 != convert.is_valid_json_string(new_config):
|
|
80
|
+
print("No valid json")
|
|
81
|
+
return
|
|
82
|
+
|
|
83
|
+
json_str = json.dumps(new_config)
|
|
84
|
+
data = json.loads(json_str)
|
|
85
|
+
if "name" not in list(data.keys()):
|
|
86
|
+
print("You need a name in your json")
|
|
87
|
+
return
|
|
88
|
+
key_name = data["name"]
|
|
89
|
+
|
|
90
|
+
if self.list_key_name != []:
|
|
91
|
+
if key_name in self.list_key_name:
|
|
92
|
+
print("key name already exist")
|
|
93
|
+
return
|
|
94
|
+
|
|
95
|
+
path = self.folder_path + key_name + ".json"
|
|
96
|
+
with open(path, "w") as fichier:
|
|
97
|
+
json.dump([new_config], fichier, indent=4)
|
|
98
|
+
self.run()
|
|
99
|
+
|
|
100
|
+
def update_config_linkHTMLWorkflow(self, new_json):
|
|
101
|
+
if str(self.comboMode.currentText()) == "":
|
|
102
|
+
return
|
|
103
|
+
|
|
104
|
+
if isinstance(new_json, str):
|
|
105
|
+
try:
|
|
106
|
+
new_json = ast.literal_eval(new_json)
|
|
107
|
+
except Exception as e:
|
|
108
|
+
print(f"Erreur de conversion : {e}")
|
|
109
|
+
return
|
|
110
|
+
key_name = str(self.comboMode.currentText())
|
|
111
|
+
old_json = {}
|
|
112
|
+
for item in self.list_config_html_ows:
|
|
113
|
+
if key_name == item["name"]:
|
|
114
|
+
old_json=item
|
|
115
|
+
if old_json == {}:
|
|
116
|
+
return
|
|
117
|
+
try:
|
|
118
|
+
new_list_json = []
|
|
119
|
+
for item in self.list_config_html_ows:
|
|
120
|
+
if old_json["fichier_json"] == item["fichier_json"]:
|
|
121
|
+
if item["name"] == old_json["name"]:
|
|
122
|
+
new_list_json.append(new_json)
|
|
123
|
+
else:
|
|
124
|
+
del item["fichier_json"]
|
|
125
|
+
new_list_json.append(item)
|
|
126
|
+
path = self.folder_path + old_json["fichier_json"]
|
|
127
|
+
with open(path, "w", encoding="utf-8") as fichier:
|
|
128
|
+
json.dump(new_list_json, fichier, indent=4, ensure_ascii=False)
|
|
129
|
+
self.run()
|
|
130
|
+
self.populate_combo_mode_from_folder()
|
|
131
|
+
except Exception as e:
|
|
132
|
+
print(f"Erreur de conversion : {e}")
|
|
133
|
+
return
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def delete_config_linkHTMLWorkflow(self):
|
|
138
|
+
if str(self.comboMode.currentText()) == "":
|
|
139
|
+
return
|
|
140
|
+
key_name = str(self.comboMode.currentText())
|
|
141
|
+
old_json = {}
|
|
142
|
+
for item in self.list_config_html_ows:
|
|
143
|
+
if key_name == item["name"]:
|
|
144
|
+
old_json = item
|
|
145
|
+
|
|
146
|
+
if old_json == {}:
|
|
147
|
+
return
|
|
148
|
+
|
|
149
|
+
new_list_json = []
|
|
150
|
+
for item in self.list_config_html_ows:
|
|
151
|
+
if old_json["fichier_json"] == item["fichier_json"]:
|
|
152
|
+
if key_name != item["name"]:
|
|
153
|
+
del item["fichier_json"]
|
|
154
|
+
new_list_json.append(item)
|
|
155
|
+
|
|
156
|
+
#Si 0 on supprime car seul dans json / Sinon on garde le json mais on retire la key_name correspondante
|
|
157
|
+
if len(new_list_json) == 0:
|
|
158
|
+
MetManagement.reset_files([self.folder_path+old_json["fichier_json"]])
|
|
159
|
+
else:
|
|
160
|
+
try:
|
|
161
|
+
path = self.folder_path + old_json["fichier_json"]
|
|
162
|
+
with open(path, "w", encoding="utf-8") as fichier:
|
|
163
|
+
json.dump(new_list_json, fichier, indent=4, ensure_ascii=False)
|
|
164
|
+
except Exception as e:
|
|
165
|
+
print(f"Erreur de conversion : {e}")
|
|
166
|
+
return
|
|
167
|
+
self.run()
|
|
168
|
+
self.populate_combo_mode_from_folder()
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def get_config_linkHTMLWorkflow(self, key_name=""):
|
|
172
|
+
config = {}
|
|
173
|
+
key_name = str(self.comboMode.currentText())
|
|
174
|
+
for item in self.list_config_html_ows:
|
|
175
|
+
if key_name == item["name"]:
|
|
176
|
+
config = item
|
|
177
|
+
if config == {}:
|
|
178
|
+
print("Config not found")
|
|
179
|
+
return
|
|
180
|
+
return config
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
def run(self):
|
|
184
|
+
self.folder_path = MetManagement.get_path_linkHTMLWorkflow()
|
|
185
|
+
list_config_html_ows = []
|
|
186
|
+
if 0 != hlit_workflow_management.read_config_ows_html_file_as_dict(list_config_html_ows):
|
|
187
|
+
print("No config file found")
|
|
188
|
+
self.list_config_html_ows = []
|
|
189
|
+
self.set_stdtextDetails("Create")
|
|
190
|
+
return
|
|
191
|
+
self.list_key_name = self.get_list_of_key_name(list_config_html_ows)
|
|
192
|
+
aait_store = MetManagement.get_local_store_path()
|
|
193
|
+
|
|
194
|
+
for item in list_config_html_ows:
|
|
195
|
+
item["ows_file"] = item["ows_file"].replace(aait_store, "")
|
|
196
|
+
item["html_file"] = item["html_file"].replace(aait_store, "")
|
|
197
|
+
self.list_config_html_ows = list_config_html_ows
|
|
198
|
+
#create_new_config_linkHTMLWorkflow(new_json, folder_path, list_key_name, list_config_html_ows)
|
|
199
|
+
#update_config_linkHTMLWorkflow("export_md", new_json, list_config_html_ows, folder_path)
|
|
200
|
+
#delete_config_linkHTMLWorkflow("export_md", list_config_html_ows, folder_path)
|
|
201
|
+
#config = get_config_linkHTMLWorkflow("test11", list_config_html_ows)
|
|
202
|
+
|
|
203
|
+
def handle_write_clicked(self):
|
|
204
|
+
current_str=str(self.textDetails.toPlainText())
|
|
205
|
+
if current_str=="":
|
|
206
|
+
return
|
|
207
|
+
func_name = str(self.comboActions.currentText())
|
|
208
|
+
if func_name == "Create":
|
|
209
|
+
self.create_new_config_linkHTMLWorkflow(current_str)
|
|
210
|
+
elif func_name == "Update":
|
|
211
|
+
self.update_config_linkHTMLWorkflow(current_str)
|
|
212
|
+
return
|
|
213
|
+
|
|
214
|
+
def handle_delete_clicked(self):
|
|
215
|
+
current_str = str(self.textDetails.toPlainText())
|
|
216
|
+
if current_str == "":
|
|
217
|
+
return
|
|
218
|
+
func_name = str(self.comboActions.currentText())
|
|
219
|
+
if func_name == "Delete":
|
|
220
|
+
self.delete_config_linkHTMLWorkflow()
|
|
221
|
+
return
|
|
222
|
+
|
|
223
|
+
def on_current_text_changed(self):
|
|
224
|
+
func_name = str(self.comboActions.currentText())
|
|
225
|
+
self.pushButton_read.setVisible(False)
|
|
226
|
+
self.pushButton_delete.setVisible(False)
|
|
227
|
+
if len(self.list_config_html_ows) == 0:
|
|
228
|
+
self.set_stdtextDetails("Create")
|
|
229
|
+
self.comboActions.setCurrentIndex(0)
|
|
230
|
+
return
|
|
231
|
+
if func_name == "Create":
|
|
232
|
+
self.comboMode.setVisible(False)
|
|
233
|
+
self.pushButton_write.setVisible(True)
|
|
234
|
+
self.set_stdtextDetails("Create")
|
|
235
|
+
else:
|
|
236
|
+
if func_name == "Update":
|
|
237
|
+
self.pushButton_write.setVisible(True)
|
|
238
|
+
self.pushButton_delete.setVisible(False)
|
|
239
|
+
if func_name == "Delete":
|
|
240
|
+
self.pushButton_write.setVisible(False)
|
|
241
|
+
self.pushButton_delete.setVisible(True)
|
|
242
|
+
self.comboMode.setVisible(True)
|
|
243
|
+
self.populate_combo_mode_from_folder()
|
|
244
|
+
|
|
245
|
+
def on_current_comboMode_changed(self):
|
|
246
|
+
key_name = str(self.comboMode.currentText())
|
|
247
|
+
if not key_name or key_name == "" or key_name == "Create":
|
|
248
|
+
return
|
|
249
|
+
json = self.get_config_linkHTMLWorkflow(key_name).copy()
|
|
250
|
+
del json["fichier_json"]
|
|
251
|
+
self.textDetails.setText(str(json))
|
|
252
|
+
|
|
253
|
+
def populate_combo_mode_from_folder(self):
|
|
254
|
+
# Nettoyer avant tout
|
|
255
|
+
self.comboMode.clear()
|
|
256
|
+
self.textDetails.setText("")
|
|
257
|
+
# Peupler le combo
|
|
258
|
+
for item in self.list_key_name:
|
|
259
|
+
self.comboMode.addItem(item)
|
|
260
|
+
self.comboMode.setCurrentIndex(0)
|
|
261
|
+
self.textDetails.setText(str(self.list_config_html_ows[0]))
|
|
262
|
+
|
|
263
|
+
def main():
|
|
264
|
+
app = QtWidgets.QApplication(sys.argv)
|
|
265
|
+
dlg = LinkWorkflowManagerUI()
|
|
266
|
+
dlg.show()
|
|
267
|
+
if hasattr(app, "exec"):
|
|
268
|
+
app.exec()
|
|
269
|
+
else:
|
|
270
|
+
app.exec_()
|
|
271
|
+
|
|
272
|
+
if __name__ == "__main__":
|
|
273
|
+
main()
|
|
@@ -830,7 +830,7 @@ def check_send_new_emails(offusc_conf_agent,type_co):
|
|
|
830
830
|
print(f"❌ Erreur lors de l'envoi avec OAuth2 : {e}")
|
|
831
831
|
elif type_co == "MICROSOFT_EXCHANGE_OAUTH2_MICROSOFT_GRAPH":
|
|
832
832
|
try:
|
|
833
|
-
client_id, client_secret, tenant_id, user_email = keys_manager.lire_config_oauth2(offusc_conf_agent)
|
|
833
|
+
client_id, client_secret, tenant_id, user_email = keys_manager.lire_config_oauth2(offusc_conf_agent, type_co)
|
|
834
834
|
|
|
835
835
|
agent = user_email
|
|
836
836
|
chemin_dossier_in, chemin_dossier_out = mail_in_folder(agent, "out")
|
|
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
|
{io4it-4.0.0 → io4it-4.0.2}/orangecontrib/IO4IT/widgets/designer/ow_extract_tables_docx_to_xlsx.ui
RENAMED
|
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
|