DmitryRyumin commited on
Commit
20b6a53
β€’
1 Parent(s): aa2aec1
app.css CHANGED
@@ -84,6 +84,7 @@ div.files-container label[data-testid="block-label"] {
84
 
85
  .number-container {
86
  max-width: fit-content;
 
87
  }
88
 
89
  .dropdown-container {
 
84
 
85
  .number-container {
86
  max-width: fit-content;
87
+ min-width: fit-content !important;
88
  }
89
 
90
  .dropdown-container {
app/components.py CHANGED
@@ -123,7 +123,7 @@ def radio_create_ui(
123
  )
124
 
125
 
126
- def threshold_create_ui(
127
  value: float = 0.5,
128
  minimum: float = 0.0,
129
  maximum: float = 1.0,
 
123
  )
124
 
125
 
126
+ def number_create_ui(
127
  value: float = 0.5,
128
  minimum: float = 0.0,
129
  maximum: float = 1.0,
app/event_handlers/calculate_practical_tasks.py CHANGED
@@ -15,19 +15,55 @@ from app.config import config_data
15
  from app.components import html_message, dataframe, files_create_ui, video_create_ui
16
 
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  def event_handler_calculate_practical_task_blocks(
19
  files,
20
  practical_subtasks,
21
  pt_scores,
22
  threshold_professional_skills,
23
  dropdown_professional_skills,
 
 
 
 
 
 
24
  ):
25
  if practical_subtasks.lower() == "professional skills":
26
- df_professional_skills = pd.read_csv(config_data.Links_PROFESSIONAL_SKILLS)
27
-
28
- df_professional_skills.index.name = "ID"
29
- df_professional_skills.index += 1
30
- df_professional_skills.index = df_professional_skills.index.map(str)
31
 
32
  b5._priority_skill_calculation(
33
  df_files=pt_scores.iloc[:, 1:],
@@ -37,19 +73,7 @@ def event_handler_calculate_practical_task_blocks(
37
  )
38
 
39
  # Optional
40
- df = b5.df_files_priority_skill_.rename(
41
- columns={
42
- "Openness": "OPE",
43
- "Conscientiousness": "CON",
44
- "Extraversion": "EXT",
45
- "Agreeableness": "AGR",
46
- "Non-Neuroticism": "NNEU",
47
- }
48
- )
49
- columns_to_round = df.columns[1:]
50
- df[columns_to_round] = df[columns_to_round].apply(
51
- lambda x: [round(i, 3) for i in x]
52
- )
53
 
54
  professional_skills_list = (
55
  config_data.Settings_DROPDOWN_PROFESSIONAL_SKILLS.copy()
@@ -103,6 +127,75 @@ def event_handler_calculate_practical_task_blocks(
103
  ),
104
  html_message(config_data.InformationMessages_NOTI_IN_DEV, False, False),
105
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  else:
107
  gr.Info(config_data.InformationMessages_NOTI_IN_DEV)
108
 
 
15
  from app.components import html_message, dataframe, files_create_ui, video_create_ui
16
 
17
 
18
+ def read_csv_file(file_path, drop_id=False):
19
+ df = pd.read_csv(file_path)
20
+
21
+ if drop_id:
22
+ df = pd.DataFrame(df.drop(["ID"], axis=1))
23
+
24
+ df.index.name = "ID"
25
+ df.index += 1
26
+ df.index = df.index.map(str)
27
+
28
+ return df
29
+
30
+
31
+ def apply_rounding_and_rename_columns(df):
32
+ df_rounded = df.rename(
33
+ columns={
34
+ "Openness": "OPE",
35
+ "Conscientiousness": "CON",
36
+ "Extraversion": "EXT",
37
+ "Agreeableness": "AGR",
38
+ "Non-Neuroticism": "NNEU",
39
+ }
40
+ )
41
+ columns_to_round = df_rounded.columns[1:]
42
+ df_rounded[columns_to_round] = df_rounded[columns_to_round].apply(
43
+ lambda x: [round(i, 3) for i in x]
44
+ )
45
+ return df_rounded
46
+
47
+
48
+ def colleague_type(subtask):
49
+ return "minor" if "junior" in subtask.lower() else "major"
50
+
51
+
52
  def event_handler_calculate_practical_task_blocks(
53
  files,
54
  practical_subtasks,
55
  pt_scores,
56
  threshold_professional_skills,
57
  dropdown_professional_skills,
58
+ target_score_ope,
59
+ target_score_con,
60
+ target_score_ext,
61
+ target_score_agr,
62
+ target_score_nneu,
63
+ equal_coefficient,
64
  ):
65
  if practical_subtasks.lower() == "professional skills":
66
+ df_professional_skills = read_csv_file(config_data.Links_PROFESSIONAL_SKILLS)
 
 
 
 
67
 
68
  b5._priority_skill_calculation(
69
  df_files=pt_scores.iloc[:, 1:],
 
73
  )
74
 
75
  # Optional
76
+ df = apply_rounding_and_rename_columns(b5.df_files_priority_skill_)
 
 
 
 
 
 
 
 
 
 
 
 
77
 
78
  professional_skills_list = (
79
  config_data.Settings_DROPDOWN_PROFESSIONAL_SKILLS.copy()
 
127
  ),
128
  html_message(config_data.InformationMessages_NOTI_IN_DEV, False, False),
129
  )
130
+ elif (
131
+ practical_subtasks.lower() == "finding a suitable junior colleague"
132
+ or practical_subtasks.lower() == "finding a suitable senior colleague"
133
+ ):
134
+ df_correlation_coefficients = read_csv_file(config_data.Links_FINDING_COLLEAGUE)
135
+
136
+ b5._colleague_ranking(
137
+ df_files=pt_scores.iloc[:, 1:],
138
+ correlation_coefficients=df_correlation_coefficients,
139
+ target_scores=[
140
+ target_score_ope,
141
+ target_score_con,
142
+ target_score_ext,
143
+ target_score_agr,
144
+ target_score_nneu,
145
+ ],
146
+ colleague=colleague_type(practical_subtasks),
147
+ equal_coefficients=equal_coefficient,
148
+ out=False,
149
+ )
150
+
151
+ # Optional
152
+ df = df = apply_rounding_and_rename_columns(b5.df_files_colleague_)
153
+
154
+ professional_skills_list = [
155
+ "OPE",
156
+ "CON",
157
+ "EXT",
158
+ "AGR",
159
+ "NNEU",
160
+ ]
161
+
162
+ df_hidden = df.drop(columns=professional_skills_list)
163
+
164
+ df_hidden.to_csv(
165
+ colleague_type(practical_subtasks) + config_data.Filenames_COLLEAGUE_RANKING
166
+ )
167
+
168
+ df_hidden.reset_index(inplace=True)
169
+
170
+ person_id = int(df_hidden.iloc[0]["Person ID"]) - 1
171
+
172
+ return (
173
+ gr.Row(visible=True),
174
+ gr.Column(visible=True),
175
+ dataframe(
176
+ headers=df_hidden.columns.tolist(),
177
+ values=df_hidden.values.tolist(),
178
+ visible=True,
179
+ ),
180
+ files_create_ui(
181
+ colleague_type(practical_subtasks)
182
+ + config_data.Filenames_COLLEAGUE_RANKING,
183
+ "single",
184
+ [".csv"],
185
+ config_data.OtherMessages_EXPORT_WT,
186
+ True,
187
+ False,
188
+ True,
189
+ "csv-container",
190
+ ),
191
+ video_create_ui(
192
+ value=files[person_id],
193
+ file_name=Path(files[person_id]).name,
194
+ label="Best Person ID - " + str(person_id + 1),
195
+ visible=True,
196
+ ),
197
+ html_message(config_data.InformationMessages_NOTI_IN_DEV, False, False),
198
+ )
199
  else:
200
  gr.Info(config_data.InformationMessages_NOTI_IN_DEV)
201
 
app/event_handlers/calculate_pt_scores_blocks.py CHANGED
@@ -17,7 +17,7 @@ from app.components import (
17
  dataframe,
18
  files_create_ui,
19
  radio_create_ui,
20
- threshold_create_ui,
21
  dropdown_create_ui,
22
  video_create_ui,
23
  )
@@ -81,8 +81,14 @@ def event_handler_calculate_pt_scores_blocks(files, evt_data: gr.EventData):
81
  render=True,
82
  ),
83
  gr.Column(visible=False),
84
- threshold_create_ui(visible=False),
85
  dropdown_create_ui(visible=False),
 
 
 
 
 
 
86
  button(
87
  config_data.OtherMessages_CALCULATE_PRACTICAL_TASK,
88
  True,
 
17
  dataframe,
18
  files_create_ui,
19
  radio_create_ui,
20
+ number_create_ui,
21
  dropdown_create_ui,
22
  video_create_ui,
23
  )
 
81
  render=True,
82
  ),
83
  gr.Column(visible=False),
84
+ number_create_ui(visible=False),
85
  dropdown_create_ui(visible=False),
86
+ number_create_ui(visible=False),
87
+ number_create_ui(visible=False),
88
+ number_create_ui(visible=False),
89
+ number_create_ui(visible=False),
90
+ number_create_ui(visible=False),
91
+ number_create_ui(visible=False),
92
  button(
93
  config_data.OtherMessages_CALCULATE_PRACTICAL_TASK,
94
  True,
app/event_handlers/clear_blocks.py CHANGED
@@ -17,7 +17,7 @@ from app.components import (
17
  button,
18
  dataframe,
19
  radio_create_ui,
20
- threshold_create_ui,
21
  dropdown_create_ui,
22
  )
23
 
@@ -74,8 +74,14 @@ def event_handler_clear_blocks():
74
  render=True,
75
  ),
76
  gr.Column(visible=False),
77
- threshold_create_ui(visible=False),
78
  dropdown_create_ui(visible=False),
 
 
 
 
 
 
79
  gr.Row(visible=False),
80
  gr.Column(visible=False),
81
  dataframe(visible=False),
 
17
  button,
18
  dataframe,
19
  radio_create_ui,
20
+ number_create_ui,
21
  dropdown_create_ui,
22
  )
23
 
 
74
  render=True,
75
  ),
76
  gr.Column(visible=False),
77
+ number_create_ui(visible=False),
78
  dropdown_create_ui(visible=False),
79
+ number_create_ui(visible=False),
80
+ number_create_ui(visible=False),
81
+ number_create_ui(visible=False),
82
+ number_create_ui(visible=False),
83
+ number_create_ui(visible=False),
84
+ number_create_ui(visible=False),
85
  gr.Row(visible=False),
86
  gr.Column(visible=False),
87
  dataframe(visible=False),
app/event_handlers/event_handlers.py CHANGED
@@ -39,6 +39,12 @@ def setup_app_event_handlers(
39
  settings_practical_tasks,
40
  threshold_professional_skills,
41
  dropdown_professional_skills,
 
 
 
 
 
 
42
  calculate_practical_task,
43
  practical_subtasks_selected,
44
  practical_tasks_column,
@@ -79,6 +85,12 @@ def setup_app_event_handlers(
79
  settings_practical_tasks,
80
  threshold_professional_skills,
81
  dropdown_professional_skills,
 
 
 
 
 
 
82
  calculate_practical_task,
83
  sorted_videos,
84
  sorted_videos_column,
@@ -115,6 +127,12 @@ def setup_app_event_handlers(
115
  settings_practical_tasks,
116
  threshold_professional_skills,
117
  dropdown_professional_skills,
 
 
 
 
 
 
118
  sorted_videos,
119
  sorted_videos_column,
120
  practical_task_sorted,
@@ -138,6 +156,12 @@ def setup_app_event_handlers(
138
  settings_practical_tasks,
139
  threshold_professional_skills,
140
  dropdown_professional_skills,
 
 
 
 
 
 
141
  ],
142
  queue=True,
143
  )
@@ -149,6 +173,12 @@ def setup_app_event_handlers(
149
  pt_scores,
150
  threshold_professional_skills,
151
  dropdown_professional_skills,
 
 
 
 
 
 
152
  ],
153
  outputs=[
154
  sorted_videos,
 
39
  settings_practical_tasks,
40
  threshold_professional_skills,
41
  dropdown_professional_skills,
42
+ target_score_ope,
43
+ target_score_con,
44
+ target_score_ext,
45
+ target_score_agr,
46
+ target_score_nneu,
47
+ equal_coefficient,
48
  calculate_practical_task,
49
  practical_subtasks_selected,
50
  practical_tasks_column,
 
85
  settings_practical_tasks,
86
  threshold_professional_skills,
87
  dropdown_professional_skills,
88
+ target_score_ope,
89
+ target_score_con,
90
+ target_score_ext,
91
+ target_score_agr,
92
+ target_score_nneu,
93
+ equal_coefficient,
94
  calculate_practical_task,
95
  sorted_videos,
96
  sorted_videos_column,
 
127
  settings_practical_tasks,
128
  threshold_professional_skills,
129
  dropdown_professional_skills,
130
+ target_score_ope,
131
+ target_score_con,
132
+ target_score_ext,
133
+ target_score_agr,
134
+ target_score_nneu,
135
+ equal_coefficient,
136
  sorted_videos,
137
  sorted_videos_column,
138
  practical_task_sorted,
 
156
  settings_practical_tasks,
157
  threshold_professional_skills,
158
  dropdown_professional_skills,
159
+ target_score_ope,
160
+ target_score_con,
161
+ target_score_ext,
162
+ target_score_agr,
163
+ target_score_nneu,
164
+ equal_coefficient,
165
  ],
166
  queue=True,
167
  )
 
173
  pt_scores,
174
  threshold_professional_skills,
175
  dropdown_professional_skills,
176
+ target_score_ope,
177
+ target_score_con,
178
+ target_score_ext,
179
+ target_score_agr,
180
+ target_score_nneu,
181
+ equal_coefficient,
182
  ],
183
  outputs=[
184
  sorted_videos,
app/event_handlers/practical_subtasks.py CHANGED
@@ -9,7 +9,7 @@ import gradio as gr
9
 
10
  # Importing necessary components for the Gradio app
11
  from app.config import config_data
12
- from app.components import threshold_create_ui, dropdown_create_ui
13
 
14
 
15
  def event_handler_practical_subtasks(
@@ -21,7 +21,7 @@ def event_handler_practical_subtasks(
21
  return (
22
  practical_subtasks_selected,
23
  gr.Column(visible=True),
24
- threshold_create_ui(
25
  value=0.5,
26
  minimum=0.0,
27
  maximum=1.0,
@@ -42,11 +42,111 @@ def event_handler_practical_subtasks(
42
  visible=True,
43
  elem_classes="dropdown-container",
44
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  )
46
  else:
47
  return (
48
  practical_subtasks_selected,
49
  gr.Column(visible=False),
50
- threshold_create_ui(visible=False),
51
  dropdown_create_ui(visible=False),
 
 
 
 
 
 
52
  )
 
9
 
10
  # Importing necessary components for the Gradio app
11
  from app.config import config_data
12
+ from app.components import number_create_ui, dropdown_create_ui
13
 
14
 
15
  def event_handler_practical_subtasks(
 
21
  return (
22
  practical_subtasks_selected,
23
  gr.Column(visible=True),
24
+ number_create_ui(
25
  value=0.5,
26
  minimum=0.0,
27
  maximum=1.0,
 
42
  visible=True,
43
  elem_classes="dropdown-container",
44
  ),
45
+ number_create_ui(visible=False),
46
+ number_create_ui(visible=False),
47
+ number_create_ui(visible=False),
48
+ number_create_ui(visible=False),
49
+ number_create_ui(visible=False),
50
+ number_create_ui(visible=False),
51
+ )
52
+ elif (
53
+ practical_subtasks.lower() == "finding a suitable junior colleague"
54
+ or practical_subtasks.lower() == "finding a suitable senior colleague"
55
+ ):
56
+ return (
57
+ practical_subtasks_selected,
58
+ gr.Column(visible=True),
59
+ number_create_ui(visible=False),
60
+ dropdown_create_ui(visible=False),
61
+ number_create_ui(
62
+ value=config_data.Values_TARGET_SCORES[0],
63
+ minimum=0.0,
64
+ maximum=1.0,
65
+ step=0.000001,
66
+ label=config_data.Labels_TARGET_SCORE_OPE_LABEL,
67
+ info=config_data.InformationMessages_TARGET_SCORE_OPE_INFO,
68
+ show_label=True,
69
+ interactive=True,
70
+ visible=True,
71
+ render=True,
72
+ elem_classes="number-container",
73
+ ),
74
+ number_create_ui(
75
+ value=config_data.Values_TARGET_SCORES[1],
76
+ minimum=0.0,
77
+ maximum=1.0,
78
+ step=0.000001,
79
+ label=config_data.Labels_TARGET_SCORE_CON_LABEL,
80
+ info=config_data.InformationMessages_TARGET_SCORE_CON_INFO,
81
+ show_label=True,
82
+ interactive=True,
83
+ visible=True,
84
+ render=True,
85
+ elem_classes="number-container",
86
+ ),
87
+ number_create_ui(
88
+ value=config_data.Values_TARGET_SCORES[2],
89
+ minimum=0.0,
90
+ maximum=1.0,
91
+ step=0.000001,
92
+ label=config_data.Labels_TARGET_SCORE_EXT_LABEL,
93
+ info=config_data.InformationMessages_TARGET_SCORE_EXT_INFO,
94
+ show_label=True,
95
+ interactive=True,
96
+ visible=True,
97
+ render=True,
98
+ elem_classes="number-container",
99
+ ),
100
+ number_create_ui(
101
+ value=config_data.Values_TARGET_SCORES[3],
102
+ minimum=0.0,
103
+ maximum=1.0,
104
+ step=0.000001,
105
+ label=config_data.Labels_TARGET_SCORE_AGR_LABEL,
106
+ info=config_data.InformationMessages_TARGET_SCORE_AGR_INFO,
107
+ show_label=True,
108
+ interactive=True,
109
+ visible=True,
110
+ render=True,
111
+ elem_classes="number-container",
112
+ ),
113
+ number_create_ui(
114
+ value=config_data.Values_TARGET_SCORES[4],
115
+ minimum=0.0,
116
+ maximum=1.0,
117
+ step=0.000001,
118
+ label=config_data.Labels_TARGET_SCORE_NNEU_LABEL,
119
+ info=config_data.InformationMessages_TARGET_SCORE_NNEU_INFO,
120
+ show_label=True,
121
+ interactive=True,
122
+ visible=True,
123
+ render=True,
124
+ elem_classes="number-container",
125
+ ),
126
+ number_create_ui(
127
+ value=0.5,
128
+ minimum=0.0,
129
+ maximum=1.0,
130
+ step=0.01,
131
+ label=config_data.Labels_EQUAL_COEFFICIENT_LABEL,
132
+ info=config_data.InformationMessages_EQUAL_COEFFICIENT_INFO,
133
+ show_label=True,
134
+ interactive=True,
135
+ visible=True,
136
+ render=True,
137
+ elem_classes="number-container",
138
+ ),
139
  )
140
  else:
141
  return (
142
  practical_subtasks_selected,
143
  gr.Column(visible=False),
144
+ number_create_ui(visible=False),
145
  dropdown_create_ui(visible=False),
146
+ number_create_ui(visible=False),
147
+ number_create_ui(visible=False),
148
+ number_create_ui(visible=False),
149
+ number_create_ui(visible=False),
150
+ number_create_ui(visible=False),
151
+ number_create_ui(visible=False),
152
  )
app/tabs.py CHANGED
@@ -19,7 +19,7 @@ from app.components import (
19
  button,
20
  dataframe,
21
  radio_create_ui,
22
- threshold_create_ui,
23
  dropdown_create_ui,
24
  )
25
 
@@ -89,7 +89,7 @@ def app_tab():
89
  variant="default",
90
  elem_classes="settings-container",
91
  ) as settings_practical_tasks:
92
- threshold_professional_skills = threshold_create_ui(
93
  value=0.5,
94
  minimum=0.0,
95
  maximum=1.0,
@@ -112,6 +112,90 @@ def app_tab():
112
  elem_classes="dropdown-container",
113
  )
114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  calculate_practical_task = button(
116
  config_data.OtherMessages_CALCULATE_PRACTICAL_TASK,
117
  True,
@@ -168,6 +252,12 @@ def app_tab():
168
  settings_practical_tasks,
169
  threshold_professional_skills,
170
  dropdown_professional_skills,
 
 
 
 
 
 
171
  calculate_practical_task,
172
  practical_subtasks_selected,
173
  practical_tasks_column,
 
19
  button,
20
  dataframe,
21
  radio_create_ui,
22
+ number_create_ui,
23
  dropdown_create_ui,
24
  )
25
 
 
89
  variant="default",
90
  elem_classes="settings-container",
91
  ) as settings_practical_tasks:
92
+ threshold_professional_skills = number_create_ui(
93
  value=0.5,
94
  minimum=0.0,
95
  maximum=1.0,
 
112
  elem_classes="dropdown-container",
113
  )
114
 
115
+ target_score_ope = number_create_ui(
116
+ value=config_data.Values_TARGET_SCORES[0],
117
+ minimum=0.0,
118
+ maximum=1.0,
119
+ step=0.000001,
120
+ label=config_data.Labels_TARGET_SCORE_OPE_LABEL,
121
+ info=config_data.InformationMessages_TARGET_SCORE_OPE_INFO,
122
+ show_label=True,
123
+ interactive=True,
124
+ visible=False,
125
+ render=True,
126
+ elem_classes="number-container",
127
+ )
128
+
129
+ target_score_con = number_create_ui(
130
+ value=config_data.Values_TARGET_SCORES[1],
131
+ minimum=0.0,
132
+ maximum=1.0,
133
+ step=0.000001,
134
+ label=config_data.Labels_TARGET_SCORE_CON_LABEL,
135
+ info=config_data.InformationMessages_TARGET_SCORE_CON_INFO,
136
+ show_label=True,
137
+ interactive=True,
138
+ visible=False,
139
+ render=True,
140
+ elem_classes="number-container",
141
+ )
142
+
143
+ target_score_ext = number_create_ui(
144
+ value=config_data.Values_TARGET_SCORES[2],
145
+ minimum=0.0,
146
+ maximum=1.0,
147
+ step=0.000001,
148
+ label=config_data.Labels_TARGET_SCORE_EXT_LABEL,
149
+ info=config_data.InformationMessages_TARGET_SCORE_EXT_INFO,
150
+ show_label=True,
151
+ interactive=True,
152
+ visible=False,
153
+ render=True,
154
+ elem_classes="number-container",
155
+ )
156
+
157
+ target_score_agr = number_create_ui(
158
+ value=config_data.Values_TARGET_SCORES[3],
159
+ minimum=0.0,
160
+ maximum=1.0,
161
+ step=0.000001,
162
+ label=config_data.Labels_TARGET_SCORE_AGR_LABEL,
163
+ info=config_data.InformationMessages_TARGET_SCORE_AGR_INFO,
164
+ show_label=True,
165
+ interactive=True,
166
+ visible=False,
167
+ render=True,
168
+ elem_classes="number-container",
169
+ )
170
+
171
+ target_score_nneu = number_create_ui(
172
+ value=config_data.Values_TARGET_SCORES[4],
173
+ minimum=0.0,
174
+ maximum=1.0,
175
+ step=0.000001,
176
+ label=config_data.Labels_TARGET_SCORE_NNEU_LABEL,
177
+ info=config_data.InformationMessages_TARGET_SCORE_NNEU_INFO,
178
+ show_label=True,
179
+ interactive=True,
180
+ visible=False,
181
+ render=True,
182
+ elem_classes="number-container",
183
+ )
184
+
185
+ equal_coefficient = number_create_ui(
186
+ value=0.5,
187
+ minimum=0.0,
188
+ maximum=1.0,
189
+ step=0.01,
190
+ label=config_data.Labels_EQUAL_COEFFICIENT_LABEL,
191
+ info=config_data.InformationMessages_EQUAL_COEFFICIENT_INFO,
192
+ show_label=True,
193
+ interactive=True,
194
+ visible=False,
195
+ render=True,
196
+ elem_classes="number-container",
197
+ )
198
+
199
  calculate_practical_task = button(
200
  config_data.OtherMessages_CALCULATE_PRACTICAL_TASK,
201
  True,
 
252
  settings_practical_tasks,
253
  threshold_professional_skills,
254
  dropdown_professional_skills,
255
+ target_score_ope,
256
+ target_score_con,
257
+ target_score_ext,
258
+ target_score_agr,
259
+ target_score_nneu,
260
+ equal_coefficient,
261
  calculate_practical_task,
262
  practical_subtasks_selected,
263
  practical_tasks_column,
config.toml CHANGED
@@ -1,5 +1,5 @@
1
  [AppSettings]
2
- APP_VERSION = "0.5.0"
3
  CSS_PATH = "app.css"
4
 
5
  [InformationMessages]
@@ -7,22 +7,36 @@ NOTI_VIDEOS = "Select the video(s)"
7
  PRACTICAL_TASKS_INFO = "Choose a practical task"
8
  PRACTICAL_SUBTASKS_INFO = "Choose a practical subtask"
9
  NOTI_IN_DEV = "In development"
10
- THRESHOLD_PROFESSIONAL_SKILLS_INFO = "Set threshold from 0 to 1.0"
11
  DROPDOWN_PROFESSIONAL_SKILLS_INFO = "What professional skill are you interested in?"
 
 
 
 
 
 
 
12
 
13
  [OtherMessages]
14
  CALCULATE_PT_SCORES = "Calculation of Big Five personality traits scores"
15
- CALCULATE_PRACTICAL_TASK = "Calculation of information for a practical task"
16
  CLEAR_APP = "Clear"
17
  EXAMPLES_APP = "Examples"
18
  EXPORT_PT_SCORES = "Export Big Five personality traits to a CSV file"
19
  EXPORT_PS = "Export ranking professional skill results to a CSV file"
 
20
  NOTI_CALCULATE = "You can calculate Big Five personality traits scores"
21
 
22
  [Labels]
23
  PRACTICAL_TASKS_LABEL = "Practical tasks"
24
  PRACTICAL_SUBTASKS_LABEL = "Practical subtasks"
25
- THRESHOLD_PROFESSIONAL_SKILLS_LABEL = "Threshold"
 
 
 
 
 
 
26
 
27
  [TabCreators]
28
  "App" = "app_tab"
@@ -31,9 +45,15 @@ THRESHOLD_PROFESSIONAL_SKILLS_LABEL = "Threshold"
31
  [Filenames]
32
  PT_SCORES = "personality_traits_scores.csv"
33
  PT_SKILLS_SCORES = "personality_skills_scores.csv"
 
34
 
35
  [Settings]
36
  DROPDOWN_PROFESSIONAL_SKILLS = ["Analytical", "Interactive", "Routine", "Non-Routine"]
 
 
 
 
37
 
38
  [Links]
39
- PROFESSIONAL_SKILLS = "https://download.sberdisk.ru/download/file/478678231?token=0qiZwliLtHWWYMv&filename=professional_skills.csv"
 
 
1
  [AppSettings]
2
+ APP_VERSION = "0.6.0"
3
  CSS_PATH = "app.css"
4
 
5
  [InformationMessages]
 
7
  PRACTICAL_TASKS_INFO = "Choose a practical task"
8
  PRACTICAL_SUBTASKS_INFO = "Choose a practical subtask"
9
  NOTI_IN_DEV = "In development"
10
+ THRESHOLD_PROFESSIONAL_SKILLS_INFO = "Set value from 0 to 1.0"
11
  DROPDOWN_PROFESSIONAL_SKILLS_INFO = "What professional skill are you interested in?"
12
+ DROPDOWN_DROPDOWN_COLLEAGUES_INFO = "What colleague are you interested in?"
13
+ TARGET_SCORE_OPE_INFO = "Set value from 0 to 1.0"
14
+ TARGET_SCORE_CON_INFO = "Set value from 0 to 1.0"
15
+ TARGET_SCORE_EXT_INFO = "Set value from 0 to 1.0"
16
+ TARGET_SCORE_AGR_INFO = "Set value from 0 to 1.0"
17
+ TARGET_SCORE_NNEU_INFO = "Set value from 0 to 1.0"
18
+ EQUAL_COEFFICIENT_INFO = "Set value from 0 to 1.0"
19
 
20
  [OtherMessages]
21
  CALCULATE_PT_SCORES = "Calculation of Big Five personality traits scores"
22
+ CALCULATE_PRACTICAL_TASK = "Solving a practical task"
23
  CLEAR_APP = "Clear"
24
  EXAMPLES_APP = "Examples"
25
  EXPORT_PT_SCORES = "Export Big Five personality traits to a CSV file"
26
  EXPORT_PS = "Export ranking professional skill results to a CSV file"
27
+ EXPORT_WT = "Export ranking effective work teams results to a CSV file"
28
  NOTI_CALCULATE = "You can calculate Big Five personality traits scores"
29
 
30
  [Labels]
31
  PRACTICAL_TASKS_LABEL = "Practical tasks"
32
  PRACTICAL_SUBTASKS_LABEL = "Practical subtasks"
33
+ THRESHOLD_PROFESSIONAL_SKILLS_LABEL = "Polarity traits threshold"
34
+ TARGET_SCORE_OPE_LABEL = "Openness target score"
35
+ TARGET_SCORE_CON_LABEL = "Conscientiousness target score"
36
+ TARGET_SCORE_EXT_LABEL = "Extraversion target score"
37
+ TARGET_SCORE_AGR_LABEL = "Agreeableness target score"
38
+ TARGET_SCORE_NNEU_LABEL = "Non-Neuroticism target score"
39
+ EQUAL_COEFFICIENT_LABEL = "Equal coefficient"
40
 
41
  [TabCreators]
42
  "App" = "app_tab"
 
45
  [Filenames]
46
  PT_SCORES = "personality_traits_scores.csv"
47
  PT_SKILLS_SCORES = "personality_skills_scores.csv"
48
+ COLLEAGUE_RANKING = "_colleague_ranking.csv"
49
 
50
  [Settings]
51
  DROPDOWN_PROFESSIONAL_SKILLS = ["Analytical", "Interactive", "Routine", "Non-Routine"]
52
+ DROPDOWN_COLLEAGUES = ["major", "minor"]
53
+
54
+ [Values]
55
+ TARGET_SCORES = [0.527886, 0.522337, 0.458468, 0.51761, 0.444649]
56
 
57
  [Links]
58
+ PROFESSIONAL_SKILLS = "https://download.sberdisk.ru/download/file/478678231?token=0qiZwliLtHWWYMv&filename=professional_skills.csv"
59
+ FINDING_COLLEAGUE = "https://download.sberdisk.ru/download/file/478675819?token=LuB7L1QsEY0UuSs&filename=colleague_ranking.csv"
requirements.txt CHANGED
@@ -2,6 +2,6 @@ gradio==4.23.0
2
  requests==2.31.0
3
  PyYAML==6.0.1
4
  toml==0.10.2
5
- oceanai==1.0.0a24
6
  tf-keras==2.16.0
7
  pandas==2.2.1
 
2
  requests==2.31.0
3
  PyYAML==6.0.1
4
  toml==0.10.2
5
+ oceanai==1.0.0a26
6
  tf-keras==2.16.0
7
  pandas==2.2.1