README.md CHANGED
@@ -4,7 +4,7 @@ emoji: 😀🤓😎😉😤
4
  colorFrom: gray
5
  colorTo: red
6
  sdk: gradio
7
- sdk_version: 5.8.0
8
  app_file: app.py
9
  pinned: false
10
  license: mit
 
4
  colorFrom: gray
5
  colorTo: red
6
  sdk: gradio
7
+ sdk_version: 5.7.1
8
  app_file: app.py
9
  pinned: false
10
  license: mit
app.css CHANGED
@@ -265,14 +265,6 @@ div.surname-container > div.metadata_surname-logo div.image-container,
265
  div.email-container > div.metadata_email-logo div.image-container,
266
  div.phone-container > div.metadata_phone-logo div.image-container {
267
  width: fit-content;
268
- min-width: auto;
269
- }
270
-
271
- div.name-container > div.metadata_name-logo div.image-container > div.icon-button-wrapper,
272
- div.surname-container > div.metadata_surname-logo div.image-container > div.icon-button-wrapper,
273
- div.email-container > div.metadata_email-logo div.image-container > div.icon-button-wrapper,
274
- div.phone-container > div.metadata_phone-logo div.image-container > div.icon-button-wrapper {
275
- display: none;
276
  }
277
 
278
  div.name-container > div.metadata_name-logo div.image-container > button > div > img,
 
265
  div.email-container > div.metadata_email-logo div.image-container,
266
  div.phone-container > div.metadata_phone-logo div.image-container {
267
  width: fit-content;
 
 
 
 
 
 
 
 
268
  }
269
 
270
  div.name-container > div.metadata_name-logo div.image-container > button > div > img,
app/event_handlers/calculate_practical_tasks.py CHANGED
@@ -576,12 +576,8 @@ def event_handler_calculate_practical_task_blocks(
576
  elif practical_subtasks.lower() == "professional skills":
577
  df_professional_skills = read_csv_file(config_data.Links_PROFESSIONAL_SKILLS)
578
 
579
- pt_scores_copy = pt_scores.iloc[:, 1:].copy()
580
-
581
- preprocess_scores_df(pt_scores_copy, config_data.Dataframes_PT_SCORES[0][0])
582
-
583
  b5._priority_skill_calculation(
584
- df_files=pt_scores_copy,
585
  correlation_coefficients=df_professional_skills,
586
  threshold=threshold_professional_skills,
587
  out=False,
@@ -589,44 +585,26 @@ def event_handler_calculate_practical_task_blocks(
589
 
590
  df = apply_rounding_and_rename_columns(b5.df_files_priority_skill_)
591
 
592
- if type_modes == config_data.Settings_TYPE_MODES[0]:
593
- professional_skills_list = (
594
- config_data.Settings_DROPDOWN_PROFESSIONAL_SKILLS.copy()
595
- )
596
-
597
- professional_skills_list.remove(dropdown_professional_skills)
598
 
599
- del_cols = []
600
- elif type_modes == config_data.Settings_TYPE_MODES[1]:
601
- professional_skills_list = []
602
- del_cols = config_data.Settings_DROPDOWN_MBTI_DEL_COLS_WEBCAM
603
 
604
  df_hidden = df.drop(
605
  columns=config_data.Settings_SHORT_PROFESSIONAL_SKILLS
606
  + professional_skills_list
607
- + del_cols
608
  )
609
 
610
- if type_modes == config_data.Settings_TYPE_MODES[0]:
611
- df_hidden = df_hidden.sort_values(
612
- by=[dropdown_professional_skills], ascending=False
613
- )
614
- df_hidden.reset_index(inplace=True)
615
- elif type_modes == config_data.Settings_TYPE_MODES[1]:
616
- df_hidden = df_hidden.melt(
617
- var_name="Professional Skill", value_name="Summary Score"
618
- )
619
- df_hidden = df_hidden.sort_values(by=["Summary Score"], ascending=False)
620
- df_hidden.reset_index(drop=True, inplace=True)
621
-
622
  df_hidden.to_csv(config_data.Filenames_PT_SKILLS_SCORES)
623
 
624
- if type_modes == config_data.Settings_TYPE_MODES[0]:
625
- person_id = (
626
- int(df_hidden.iloc[0][config_data.Dataframes_PT_SCORES[0][0]]) - 1
627
- )
628
- elif type_modes == config_data.Settings_TYPE_MODES[1]:
629
- person_id = 0
 
630
 
631
  person_metadata = create_person_metadata(person_id, files, video_metadata)
632
 
@@ -666,83 +644,37 @@ def event_handler_calculate_practical_task_blocks(
666
  elif (
667
  practical_subtasks.lower() == "finding a suitable junior colleague"
668
  or practical_subtasks.lower() == "finding a suitable senior colleague"
669
- or practical_subtasks.lower()
670
- == "finding a suitable colleague by personality types"
671
  ):
672
- pt_scores_copy = pt_scores.iloc[:, 1:].copy()
673
-
674
- preprocess_scores_df(pt_scores_copy, config_data.Dataframes_PT_SCORES[0][0])
675
-
676
- if (
677
- practical_subtasks.lower()
678
- != "finding a suitable colleague by personality types"
679
- ):
680
- df_correlation_coefficients = read_csv_file(
681
- config_data.Links_FINDING_COLLEAGUE, ["ID"]
682
- )
683
-
684
- b5._colleague_ranking(
685
- df_files=pt_scores_copy,
686
- correlation_coefficients=df_correlation_coefficients,
687
- target_scores=[
688
- target_score_ope,
689
- target_score_con,
690
- target_score_ext,
691
- target_score_agr,
692
- target_score_nneu,
693
- ],
694
- colleague=colleague_type(practical_subtasks),
695
- equal_coefficients=equal_coefficient,
696
- out=False,
697
- )
698
- df = apply_rounding_and_rename_columns(b5.df_files_colleague_)
699
 
700
- df_hidden = df.drop(columns=config_data.Settings_SHORT_PROFESSIONAL_SKILLS)
 
 
 
 
 
 
 
 
 
 
 
 
 
701
 
702
- df_hidden.to_csv(
703
- colleague_type(practical_subtasks)
704
- + config_data.Filenames_COLLEAGUE_RANKING
705
- )
706
- else:
707
- b5._colleague_personality_type_match(
708
- df_files=pt_scores_copy,
709
- correlation_coefficients=None,
710
- target_scores=[
711
- target_score_ope,
712
- target_score_con,
713
- target_score_ext,
714
- target_score_agr,
715
- target_score_nneu,
716
- ],
717
- threshold=equal_coefficient,
718
- out=False,
719
- )
720
- df = b5.df_files_MBTI_colleague_match_.rename(
721
- columns={
722
- "MBTI": "Personality Type",
723
- "MBTI_Score": "Personality Type Score",
724
- }
725
- )
726
 
727
- df_hidden = df[["Path", "Personality Type", "Match"]]
728
 
729
- df_hidden.to_csv(config_data.Filenames_COLLEAGUE_RANKING)
 
 
730
 
731
  df_hidden.reset_index(inplace=True)
732
 
733
- person_id = (
734
- int(
735
- df_hidden.iloc[
736
- (
737
- 0
738
- if practical_subtasks.lower()
739
- != "finding a suitable colleague by personality types"
740
- else 1
741
- )
742
- ][config_data.Dataframes_PT_SCORES[0][0]]
743
- )
744
- - 1
745
- )
746
 
747
  person_metadata = create_person_metadata(person_id, files, video_metadata)
748
 
@@ -783,7 +715,7 @@ def event_handler_calculate_practical_task_blocks(
783
  elif (
784
  practical_subtasks.lower() == "car characteristics"
785
  or practical_subtasks.lower() == "mobile device application categories"
786
- or practical_subtasks.lower() == "clothing styles"
787
  ):
788
  if practical_subtasks.lower() == "car characteristics":
789
  df_correlation_coefficients = read_csv_file(
@@ -794,13 +726,9 @@ def event_handler_calculate_practical_task_blocks(
794
  df_correlation_coefficients = read_csv_file(
795
  config_data.Links_MDA_CATEGORIES
796
  )
797
- elif practical_subtasks.lower() == "clothing styles":
798
  df_correlation_coefficients = read_csv_file(config_data.Links_CLOTHING_SC)
799
 
800
- if type_modes == config_data.Settings_TYPE_MODES[1]:
801
- number_priority = df_correlation_coefficients.columns.size - 1
802
- number_importance_traits = 5
803
-
804
  pt_scores_copy = pt_scores.iloc[:, 1:].copy()
805
 
806
  preprocess_scores_df(pt_scores_copy, config_data.Dataframes_PT_SCORES[0][0])
@@ -822,37 +750,13 @@ def event_handler_calculate_practical_task_blocks(
822
 
823
  preprocess_scores_df(df, config_data.Dataframes_PT_SCORES[0][0])
824
 
825
- if type_modes == config_data.Settings_TYPE_MODES[0]:
826
- del_cols = []
827
- elif type_modes == config_data.Settings_TYPE_MODES[1]:
828
- del_cols = config_data.Settings_DROPDOWN_MBTI_DEL_COLS_WEBCAM
829
-
830
- df_hidden = df.drop(
831
- columns=config_data.Settings_SHORT_PROFESSIONAL_SKILLS + del_cols
832
- )
833
-
834
- if type_modes == config_data.Settings_TYPE_MODES[1]:
835
- df_hidden = df_hidden.T
836
-
837
- df_hidden = df_hidden.head(-number_importance_traits)
838
-
839
- df_hidden = df_hidden.reset_index()
840
-
841
- df_hidden.columns = ["Priority", "Category"]
842
 
843
  df_hidden.to_csv(consumer_preferences(practical_subtasks))
844
 
845
- df_hidden.reset_index(
846
- drop=True if type_modes == config_data.Settings_TYPE_MODES[1] else False,
847
- inplace=True,
848
- )
849
 
850
- if type_modes == config_data.Settings_TYPE_MODES[0]:
851
- person_id = (
852
- int(df_hidden.iloc[0][config_data.Dataframes_PT_SCORES[0][0]]) - 1
853
- )
854
- elif type_modes == config_data.Settings_TYPE_MODES[1]:
855
- person_id = 0
856
 
857
  person_metadata = create_person_metadata(person_id, files, video_metadata)
858
 
 
576
  elif practical_subtasks.lower() == "professional skills":
577
  df_professional_skills = read_csv_file(config_data.Links_PROFESSIONAL_SKILLS)
578
 
 
 
 
 
579
  b5._priority_skill_calculation(
580
+ df_files=pt_scores.iloc[:, 1:],
581
  correlation_coefficients=df_professional_skills,
582
  threshold=threshold_professional_skills,
583
  out=False,
 
585
 
586
  df = apply_rounding_and_rename_columns(b5.df_files_priority_skill_)
587
 
588
+ professional_skills_list = (
589
+ config_data.Settings_DROPDOWN_PROFESSIONAL_SKILLS.copy()
590
+ )
 
 
 
591
 
592
+ professional_skills_list.remove(dropdown_professional_skills)
 
 
 
593
 
594
  df_hidden = df.drop(
595
  columns=config_data.Settings_SHORT_PROFESSIONAL_SKILLS
596
  + professional_skills_list
 
597
  )
598
 
 
 
 
 
 
 
 
 
 
 
 
 
599
  df_hidden.to_csv(config_data.Filenames_PT_SKILLS_SCORES)
600
 
601
+ df_hidden.reset_index(inplace=True)
602
+
603
+ df_hidden = df_hidden.sort_values(
604
+ by=[dropdown_professional_skills], ascending=False
605
+ )
606
+
607
+ person_id = int(df_hidden.iloc[0][config_data.Dataframes_PT_SCORES[0][0]]) - 1
608
 
609
  person_metadata = create_person_metadata(person_id, files, video_metadata)
610
 
 
644
  elif (
645
  practical_subtasks.lower() == "finding a suitable junior colleague"
646
  or practical_subtasks.lower() == "finding a suitable senior colleague"
 
 
647
  ):
648
+ df_correlation_coefficients = read_csv_file(
649
+ config_data.Links_FINDING_COLLEAGUE, ["ID"]
650
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
651
 
652
+ b5._colleague_ranking(
653
+ df_files=pt_scores.iloc[:, 1:],
654
+ correlation_coefficients=df_correlation_coefficients,
655
+ target_scores=[
656
+ target_score_ope,
657
+ target_score_con,
658
+ target_score_ext,
659
+ target_score_agr,
660
+ target_score_nneu,
661
+ ],
662
+ colleague=colleague_type(practical_subtasks),
663
+ equal_coefficients=equal_coefficient,
664
+ out=False,
665
+ )
666
 
667
+ df = apply_rounding_and_rename_columns(b5.df_files_colleague_)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
668
 
669
+ df_hidden = df.drop(columns=config_data.Settings_SHORT_PROFESSIONAL_SKILLS)
670
 
671
+ df_hidden.to_csv(
672
+ colleague_type(practical_subtasks) + config_data.Filenames_COLLEAGUE_RANKING
673
+ )
674
 
675
  df_hidden.reset_index(inplace=True)
676
 
677
+ person_id = int(df_hidden.iloc[0][config_data.Dataframes_PT_SCORES[0][0]]) - 1
 
 
 
 
 
 
 
 
 
 
 
 
678
 
679
  person_metadata = create_person_metadata(person_id, files, video_metadata)
680
 
 
715
  elif (
716
  practical_subtasks.lower() == "car characteristics"
717
  or practical_subtasks.lower() == "mobile device application categories"
718
+ or practical_subtasks.lower() == "clothing style correlation"
719
  ):
720
  if practical_subtasks.lower() == "car characteristics":
721
  df_correlation_coefficients = read_csv_file(
 
726
  df_correlation_coefficients = read_csv_file(
727
  config_data.Links_MDA_CATEGORIES
728
  )
729
+ elif practical_subtasks.lower() == "clothing style correlation":
730
  df_correlation_coefficients = read_csv_file(config_data.Links_CLOTHING_SC)
731
 
 
 
 
 
732
  pt_scores_copy = pt_scores.iloc[:, 1:].copy()
733
 
734
  preprocess_scores_df(pt_scores_copy, config_data.Dataframes_PT_SCORES[0][0])
 
750
 
751
  preprocess_scores_df(df, config_data.Dataframes_PT_SCORES[0][0])
752
 
753
+ df_hidden = df.drop(columns=config_data.Settings_SHORT_PROFESSIONAL_SKILLS)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
754
 
755
  df_hidden.to_csv(consumer_preferences(practical_subtasks))
756
 
757
+ df_hidden.reset_index(inplace=True)
 
 
 
758
 
759
+ person_id = int(df_hidden.iloc[0][config_data.Dataframes_PT_SCORES[0][0]]) - 1
 
 
 
 
 
760
 
761
  person_metadata = create_person_metadata(person_id, files, video_metadata)
762
 
app/event_handlers/calculate_pt_scores_blocks.py CHANGED
@@ -52,7 +52,7 @@ def event_handler_calculate_pt_scores_blocks(
52
  supported_practical_tasks_ren = supported_practical_tasks
53
  elif type_modes == config_data.Settings_TYPE_MODES[1]:
54
  rename_map = {
55
- "Ranking potential candidates by professional responsibilities": "Estimating professional abilities",
56
  "Ранжирование потенциальных кандидатов по профессиональным обязанностям": "Определить профессиональные возможности",
57
  }
58
 
 
52
  supported_practical_tasks_ren = supported_practical_tasks
53
  elif type_modes == config_data.Settings_TYPE_MODES[1]:
54
  rename_map = {
55
+ "Ranking potential candidates by professional responsibilities": "Determine professional possibilities",
56
  "Ранжирование потенциальных кандидатов по профессиональным обязанностям": "Определить профессиональные возможности",
57
  }
58
 
app/event_handlers/clear_blocks.py CHANGED
@@ -55,11 +55,7 @@ def event_handler_clear_blocks(language, type_modes):
55
 
56
  return (
57
  html_message(
58
- (
59
- config_data.InformationMessages_NOTI_VIDEOS[lang_id].split("(")[0]
60
- if lang_id == 0
61
- else config_data.InformationMessages_NOTI_VIDEOS[lang_id]
62
- ),
63
  False,
64
  True,
65
  "notifications",
 
55
 
56
  return (
57
  html_message(
58
+ config_data.InformationMessages_NOTI_VIDEOS[lang_id],
 
 
 
 
59
  False,
60
  True,
61
  "notifications",
app/event_handlers/event_handlers.py CHANGED
@@ -152,7 +152,6 @@ def setup_app_event_handlers(
152
  switching_modes,
153
  type_modes,
154
  video,
155
- examples,
156
  calculate_pt_scores,
157
  clear_app,
158
  pt_scores,
@@ -299,10 +298,13 @@ def setup_app_event_handlers(
299
  )
300
  examples.click(
301
  fn=event_handler_examples_blocks,
302
- inputs=[languages, type_modes],
303
  outputs=[
304
  notifications,
305
  files,
 
 
 
306
  video,
307
  calculate_pt_scores,
308
  clear_app,
 
152
  switching_modes,
153
  type_modes,
154
  video,
 
155
  calculate_pt_scores,
156
  clear_app,
157
  pt_scores,
 
298
  )
299
  examples.click(
300
  fn=event_handler_examples_blocks,
301
+ inputs=[languages],
302
  outputs=[
303
  notifications,
304
  files,
305
+ webcam,
306
+ switching_modes,
307
+ type_modes,
308
  video,
309
  calculate_pt_scores,
310
  clear_app,
app/event_handlers/examples_blocks.py CHANGED
@@ -27,7 +27,7 @@ from app.components import (
27
  from app.utils import get_language_settings
28
 
29
 
30
- def event_handler_examples_blocks(language, type_modes):
31
  lang_id, _ = get_language_settings(language)
32
 
33
  first_practical_task = next(iter(supported_practical_tasks[lang_id]))
@@ -38,34 +38,39 @@ def event_handler_examples_blocks(language, type_modes):
38
  key=lambda x: int(re.search(r"\d+", Path(x).stem).group()),
39
  )
40
 
41
- if type_modes == config_data.Settings_TYPE_MODES[0]:
42
- files_ui = files_create_ui(
43
- value=video_files,
44
- label="{} ({})".format(
45
- config_data.OtherMessages_VIDEO_FILES[lang_id],
46
- ", ".join(config_data.Settings_SUPPORTED_VIDEO_EXT),
47
- ),
48
- file_types=[f".{ext}" for ext in config_data.Settings_SUPPORTED_VIDEO_EXT],
49
- )
50
- elif type_modes == config_data.Settings_TYPE_MODES[1]:
51
- files_ui = files_create_ui(
52
- label="{} ({})".format(
53
- config_data.OtherMessages_VIDEO_FILES[lang_id],
54
- ", ".join(config_data.Settings_SUPPORTED_VIDEO_EXT),
55
- ),
56
- file_types=[f".{ext}" for ext in config_data.Settings_SUPPORTED_VIDEO_EXT],
57
- interactive=False,
58
- visible=False,
59
- )
 
 
60
 
61
  return (
62
  html_message(
63
- config_data.OtherMessages_NOTI_CALCULATE[lang_id],
64
- True,
65
  True,
66
  "notifications",
67
  ),
68
  files_ui,
 
 
 
69
  video_create_ui(
70
  value=video_files[0],
71
  label=config_data.OtherMessages_VIDEO_PLAYER[lang_id],
@@ -73,7 +78,7 @@ def event_handler_examples_blocks(language, type_modes):
73
  ),
74
  button(
75
  config_data.OtherMessages_CALCULATE_PT_SCORES[lang_id],
76
- True,
77
  3,
78
  "./images/calculate_pt_scores.ico",
79
  True,
@@ -81,7 +86,7 @@ def event_handler_examples_blocks(language, type_modes):
81
  ),
82
  button(
83
  config_data.OtherMessages_CLEAR_APP[lang_id],
84
- True,
85
  1,
86
  "./images/clear.ico",
87
  True,
 
27
  from app.utils import get_language_settings
28
 
29
 
30
+ def event_handler_examples_blocks(language):
31
  lang_id, _ = get_language_settings(language)
32
 
33
  first_practical_task = next(iter(supported_practical_tasks[lang_id]))
 
38
  key=lambda x: int(re.search(r"\d+", Path(x).stem).group()),
39
  )
40
 
41
+ files_ui = files_create_ui(
42
+ value=video_files,
43
+ label="{} ({})".format(
44
+ config_data.OtherMessages_VIDEO_FILES[lang_id],
45
+ ", ".join(config_data.Settings_SUPPORTED_VIDEO_EXT),
46
+ ),
47
+ file_types=[f".{ext}" for ext in config_data.Settings_SUPPORTED_VIDEO_EXT],
48
+ )
49
+ webcam = gr.Video(interactive=False, visible=False)
50
+ switching_modes = button(
51
+ config_data.OtherMessages_SWITCHEHG_MODES_ONLINE[lang_id],
52
+ True,
53
+ 1,
54
+ "./images/webcam.ico",
55
+ True,
56
+ "switching_modes",
57
+ )
58
+ type_modes_ui = gr.Radio(
59
+ choices=config_data.Settings_TYPE_MODES,
60
+ value=config_data.Settings_TYPE_MODES[0],
61
+ )
62
 
63
  return (
64
  html_message(
65
+ config_data.InformationMessages_NOTI_VIDEOS[lang_id],
66
+ False,
67
  True,
68
  "notifications",
69
  ),
70
  files_ui,
71
+ webcam,
72
+ switching_modes,
73
+ type_modes_ui,
74
  video_create_ui(
75
  value=video_files[0],
76
  label=config_data.OtherMessages_VIDEO_PLAYER[lang_id],
 
78
  ),
79
  button(
80
  config_data.OtherMessages_CALCULATE_PT_SCORES[lang_id],
81
+ False,
82
  3,
83
  "./images/calculate_pt_scores.ico",
84
  True,
 
86
  ),
87
  button(
88
  config_data.OtherMessages_CLEAR_APP[lang_id],
89
+ False,
90
  1,
91
  "./images/clear.ico",
92
  True,
app/event_handlers/files.py CHANGED
@@ -20,11 +20,7 @@ def event_handler_files(language, files, video, pt_scores):
20
  if not files:
21
  return (
22
  html_message(
23
- (
24
- config_data.InformationMessages_NOTI_VIDEOS[lang_id].split("(")[0]
25
- if lang_id == 0
26
- else config_data.InformationMessages_NOTI_VIDEOS[lang_id]
27
- ),
28
  False,
29
  True,
30
  "notifications",
 
20
  if not files:
21
  return (
22
  html_message(
23
+ config_data.InformationMessages_NOTI_VIDEOS[lang_id],
 
 
 
 
24
  False,
25
  True,
26
  "notifications",
app/event_handlers/languages.py CHANGED
@@ -57,14 +57,6 @@ def event_handler_languages(
57
  True,
58
  "switching_modes",
59
  )
60
- examples = button(
61
- config_data.OtherMessages_EXAMPLES_APP[lang_id],
62
- True,
63
- 1,
64
- "./images/examples.ico",
65
- True,
66
- "examples_oceanai",
67
- )
68
  elif type_modes == config_data.Settings_TYPE_MODES[1]:
69
  files_ui = files_create_ui(
70
  label="{} ({})".format(
@@ -84,23 +76,11 @@ def event_handler_languages(
84
  True,
85
  "switching_modes",
86
  )
87
- examples = button(
88
- config_data.OtherMessages_EXAMPLE_APP[lang_id],
89
- True,
90
- 1,
91
- "./images/examples.ico",
92
- True,
93
- "examples_oceanai",
94
- )
95
 
96
  if not video:
97
  video = video_create_ui(label=config_data.OtherMessages_VIDEO_PLAYER[lang_id])
98
  noti_videos = html_message(
99
- (
100
- config_data.InformationMessages_NOTI_VIDEOS[lang_id].split("(")[0]
101
- if lang_id == 0
102
- else config_data.InformationMessages_NOTI_VIDEOS[lang_id]
103
- ),
104
  False,
105
  True,
106
  "notifications",
@@ -155,11 +135,11 @@ def event_handler_languages(
155
  else:
156
  practical_task = next(iter(supported_practical_tasks[lang_id]))
157
 
158
- # print(current_lang_tasks, "\n")
159
- # print(inverse_lang_tasks, "\n")
160
- # print(practical_tasks, "\n")
161
- # print(supported_practical_tasks, "\n")
162
- # print(practical_subtasks, "\n")
163
 
164
  return (
165
  gr.Markdown(value=DESCRIPTIONS[lang_id]),
@@ -184,7 +164,14 @@ def event_handler_languages(
184
  webcam,
185
  switching_modes,
186
  video,
187
- examples,
 
 
 
 
 
 
 
188
  button(
189
  config_data.OtherMessages_CALCULATE_PT_SCORES[lang_id],
190
  True if files else False,
 
57
  True,
58
  "switching_modes",
59
  )
 
 
 
 
 
 
 
 
60
  elif type_modes == config_data.Settings_TYPE_MODES[1]:
61
  files_ui = files_create_ui(
62
  label="{} ({})".format(
 
76
  True,
77
  "switching_modes",
78
  )
 
 
 
 
 
 
 
 
79
 
80
  if not video:
81
  video = video_create_ui(label=config_data.OtherMessages_VIDEO_PLAYER[lang_id])
82
  noti_videos = html_message(
83
+ config_data.InformationMessages_NOTI_VIDEOS[lang_id],
 
 
 
 
84
  False,
85
  True,
86
  "notifications",
 
135
  else:
136
  practical_task = next(iter(supported_practical_tasks[lang_id]))
137
 
138
+ print(current_lang_tasks, "\n")
139
+ print(inverse_lang_tasks, "\n")
140
+ print(practical_tasks, "\n")
141
+ print(supported_practical_tasks, "\n")
142
+ print(practical_subtasks, "\n")
143
 
144
  return (
145
  gr.Markdown(value=DESCRIPTIONS[lang_id]),
 
164
  webcam,
165
  switching_modes,
166
  video,
167
+ button(
168
+ config_data.OtherMessages_EXAMPLES_APP[lang_id],
169
+ True,
170
+ 1,
171
+ "./images/examples.ico",
172
+ True,
173
+ "examples_oceanai",
174
+ ),
175
  button(
176
  config_data.OtherMessages_CALCULATE_PT_SCORES[lang_id],
177
  True if files else False,
app/event_handlers/practical_subtasks.py CHANGED
@@ -219,8 +219,6 @@ def event_handler_practical_subtasks(
219
  elif (
220
  practical_subtasks.lower() == "finding a suitable junior colleague"
221
  or practical_subtasks.lower() == "finding a suitable senior colleague"
222
- or practical_subtasks.lower()
223
- == "finding a suitable colleague by personality types"
224
  ):
225
  return (
226
  practical_subtasks_selected,
@@ -299,12 +297,7 @@ def event_handler_practical_subtasks(
299
  minimum=0.0,
300
  maximum=1.0,
301
  step=0.01,
302
- label=(
303
- config_data.Labels_THRESHOLD_TARGET_SCORE_LABEL
304
- if practical_subtasks.lower()
305
- == "finding a suitable colleague by personality types"
306
- else config_data.Labels_EQUAL_COEFFICIENT_LABEL
307
- ),
308
  info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(0, 1.0),
309
  show_label=True,
310
  interactive=True,
@@ -325,7 +318,7 @@ def event_handler_practical_subtasks(
325
  elif (
326
  practical_subtasks.lower() == "car characteristics"
327
  or practical_subtasks.lower() == "mobile device application categories"
328
- or practical_subtasks.lower() == "clothing styles"
329
  ):
330
  if practical_subtasks.lower() == "car characteristics":
331
 
@@ -340,12 +333,12 @@ def event_handler_practical_subtasks(
340
  config_data.Links_MDA_CATEGORIES
341
  )
342
 
343
- elif practical_subtasks.lower() == "clothing styles":
344
  df_correlation_coefficients = read_csv_file(config_data.Links_CLOTHING_SC)
345
 
346
  return (
347
  practical_subtasks_selected,
348
- gr.Column(visible=visible_subtasks),
349
  dropdown_create_ui(visible=False),
350
  number_create_ui(visible=False),
351
  number_create_ui(visible=False),
@@ -359,24 +352,15 @@ def event_handler_practical_subtasks(
359
  number_create_ui(
360
  value=1,
361
  minimum=1,
362
- maximum=(
363
- df_correlation_coefficients.columns.size
364
- if practical_subtasks.lower() == "car characteristics"
365
- else df_correlation_coefficients.columns.size - 1
366
- ),
367
  step=1,
368
  label=config_data.Labels_NUMBER_PRIORITY_LABEL,
369
  info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(
370
- 1,
371
- (
372
- df_correlation_coefficients.columns.size
373
- if practical_subtasks.lower() == "car characteristics"
374
- else df_correlation_coefficients.columns.size - 1
375
- ),
376
  ),
377
  show_label=True,
378
  interactive=True,
379
- visible=visible_subtasks,
380
  render=True,
381
  elem_classes="number-container",
382
  ),
@@ -389,7 +373,7 @@ def event_handler_practical_subtasks(
389
  info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(1, 5),
390
  show_label=True,
391
  interactive=True,
392
- visible=visible_subtasks,
393
  render=True,
394
  elem_classes="number-container",
395
  ),
@@ -402,7 +386,7 @@ def event_handler_practical_subtasks(
402
  info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(0, 1.0),
403
  show_label=True,
404
  interactive=True,
405
- visible=visible_subtasks,
406
  render=True,
407
  elem_classes="number-container",
408
  ),
 
219
  elif (
220
  practical_subtasks.lower() == "finding a suitable junior colleague"
221
  or practical_subtasks.lower() == "finding a suitable senior colleague"
 
 
222
  ):
223
  return (
224
  practical_subtasks_selected,
 
297
  minimum=0.0,
298
  maximum=1.0,
299
  step=0.01,
300
+ label=config_data.Labels_EQUAL_COEFFICIENT_LABEL,
 
 
 
 
 
301
  info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(0, 1.0),
302
  show_label=True,
303
  interactive=True,
 
318
  elif (
319
  practical_subtasks.lower() == "car characteristics"
320
  or practical_subtasks.lower() == "mobile device application categories"
321
+ or practical_subtasks.lower() == "clothing style correlation"
322
  ):
323
  if practical_subtasks.lower() == "car characteristics":
324
 
 
333
  config_data.Links_MDA_CATEGORIES
334
  )
335
 
336
+ elif practical_subtasks.lower() == "clothing style correlation":
337
  df_correlation_coefficients = read_csv_file(config_data.Links_CLOTHING_SC)
338
 
339
  return (
340
  practical_subtasks_selected,
341
+ gr.Column(visible=True),
342
  dropdown_create_ui(visible=False),
343
  number_create_ui(visible=False),
344
  number_create_ui(visible=False),
 
352
  number_create_ui(
353
  value=1,
354
  minimum=1,
355
+ maximum=df_correlation_coefficients.columns.size,
 
 
 
 
356
  step=1,
357
  label=config_data.Labels_NUMBER_PRIORITY_LABEL,
358
  info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(
359
+ 1, df_correlation_coefficients.columns.size
 
 
 
 
 
360
  ),
361
  show_label=True,
362
  interactive=True,
363
+ visible=True,
364
  render=True,
365
  elem_classes="number-container",
366
  ),
 
373
  info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(1, 5),
374
  show_label=True,
375
  interactive=True,
376
+ visible=True,
377
  render=True,
378
  elem_classes="number-container",
379
  ),
 
386
  info=config_data.InformationMessages_VALUE_FROM_TO_INFO.format(0, 1.0),
387
  show_label=True,
388
  interactive=True,
389
+ visible=True,
390
  render=True,
391
  elem_classes="number-container",
392
  ),
app/event_handlers/practical_task_sorted.py CHANGED
@@ -37,13 +37,7 @@ def event_handler_practical_task_sorted(
37
  label = ""
38
  label += " " + config_data.Dataframes_PT_SCORES[0][0]
39
 
40
- try:
41
- is_filename = Path(files[person_id]).name in video_metadata
42
- except IndexError:
43
- is_filename = False
44
- person_id = 0
45
-
46
- if is_filename:
47
  person_metadata_list = video_metadata[Path(files[person_id]).name]
48
 
49
  person_metadata = (
 
37
  label = ""
38
  label += " " + config_data.Dataframes_PT_SCORES[0][0]
39
 
40
+ if Path(files[person_id]).name in video_metadata:
 
 
 
 
 
 
41
  person_metadata_list = video_metadata[Path(files[person_id]).name]
42
 
43
  person_metadata = (
app/event_handlers/practical_tasks.py CHANGED
@@ -21,7 +21,7 @@ def event_handler_practical_tasks(
21
  supported_practical_tasks_ren = supported_practical_tasks
22
  elif type_modes == config_data.Settings_TYPE_MODES[1]:
23
  rename_map = {
24
- "Ranking potential candidates by professional responsibilities": "Estimating professional abilities",
25
  "Ранжирование потенциальных кандидатов по профессиональным обязанностям": "Определить профессиональные возможности",
26
  }
27
 
 
21
  supported_practical_tasks_ren = supported_practical_tasks
22
  elif type_modes == config_data.Settings_TYPE_MODES[1]:
23
  rename_map = {
24
+ "Ranking potential candidates by professional responsibilities": "Determine professional possibilities",
25
  "Ранжирование потенциальных кандидатов по профессиональным обязанностям": "Определить профессиональные возможности",
26
  }
27
 
app/event_handlers/switching_modes.py CHANGED
@@ -31,16 +31,6 @@ def event_handler_switching_modes(language, type_modes):
31
  first_practical_task = next(iter(supported_practical_tasks[lang_id]))
32
 
33
  if type_modes == config_data.Settings_TYPE_MODES[0]:
34
- notifications = html_message(
35
- (
36
- config_data.InformationMessages_NOTI_VIDEOS[lang_id].split("(")[0]
37
- if lang_id == 0
38
- else config_data.InformationMessages_NOTI_VIDEOS[lang_id]
39
- ),
40
- False,
41
- True,
42
- "notifications",
43
- )
44
  files_ui = files_create_ui(
45
  label="{} ({})".format(
46
  config_data.OtherMessages_VIDEO_FILES[lang_id],
@@ -63,21 +53,7 @@ def event_handler_switching_modes(language, type_modes):
63
  choices=config_data.Settings_TYPE_MODES,
64
  value=config_data.Settings_TYPE_MODES[1],
65
  )
66
- examples = button(
67
- config_data.OtherMessages_EXAMPLE_APP[lang_id],
68
- True,
69
- 1,
70
- "./images/examples.ico",
71
- True,
72
- "examples_oceanai",
73
- )
74
  elif type_modes == config_data.Settings_TYPE_MODES[1]:
75
- notifications = html_message(
76
- config_data.InformationMessages_NOTI_VIDEOS[lang_id],
77
- False,
78
- True,
79
- "notifications",
80
- )
81
  files_ui = files_create_ui(
82
  label="{} ({})".format(
83
  config_data.OtherMessages_VIDEO_FILES[lang_id],
@@ -98,23 +74,19 @@ def event_handler_switching_modes(language, type_modes):
98
  choices=config_data.Settings_TYPE_MODES,
99
  value=config_data.Settings_TYPE_MODES[0],
100
  )
101
- examples = button(
102
- config_data.OtherMessages_EXAMPLES_APP[lang_id],
103
- True,
104
- 1,
105
- "./images/examples.ico",
106
- True,
107
- "examples_oceanai",
108
- )
109
 
110
  return (
111
- notifications,
 
 
 
 
 
112
  files_ui,
113
  webcam,
114
  switching_modes,
115
  type_modes_ui,
116
  video_create_ui(),
117
- examples,
118
  button(
119
  config_data.OtherMessages_CALCULATE_PT_SCORES[lang_id],
120
  False,
 
31
  first_practical_task = next(iter(supported_practical_tasks[lang_id]))
32
 
33
  if type_modes == config_data.Settings_TYPE_MODES[0]:
 
 
 
 
 
 
 
 
 
 
34
  files_ui = files_create_ui(
35
  label="{} ({})".format(
36
  config_data.OtherMessages_VIDEO_FILES[lang_id],
 
53
  choices=config_data.Settings_TYPE_MODES,
54
  value=config_data.Settings_TYPE_MODES[1],
55
  )
 
 
 
 
 
 
 
 
56
  elif type_modes == config_data.Settings_TYPE_MODES[1]:
 
 
 
 
 
 
57
  files_ui = files_create_ui(
58
  label="{} ({})".format(
59
  config_data.OtherMessages_VIDEO_FILES[lang_id],
 
74
  choices=config_data.Settings_TYPE_MODES,
75
  value=config_data.Settings_TYPE_MODES[0],
76
  )
 
 
 
 
 
 
 
 
77
 
78
  return (
79
+ html_message(
80
+ config_data.InformationMessages_NOTI_VIDEOS[lang_id],
81
+ False,
82
+ True,
83
+ "notifications",
84
+ ),
85
  files_ui,
86
  webcam,
87
  switching_modes,
88
  type_modes_ui,
89
  video_create_ui(),
 
90
  button(
91
  config_data.OtherMessages_CALCULATE_PT_SCORES[lang_id],
92
  False,
app/event_handlers/webcam.py CHANGED
@@ -20,11 +20,7 @@ def event_handler_webcam(language, webcam, pt_scores):
20
  if not webcam:
21
  return (
22
  html_message(
23
- (
24
- config_data.InformationMessages_NOTI_VIDEOS[lang_id].split("(")[0]
25
- if lang_id == 0
26
- else config_data.InformationMessages_NOTI_VIDEOS[lang_id]
27
- ),
28
  False,
29
  True,
30
  "notifications",
 
20
  if not webcam:
21
  return (
22
  html_message(
23
+ config_data.InformationMessages_NOTI_VIDEOS[lang_id],
 
 
 
 
24
  False,
25
  True,
26
  "notifications",
app/tabs.py CHANGED
@@ -223,7 +223,7 @@ def app_tab():
223
  )
224
 
225
  threshold_professional_skills = number_create_ui(
226
- value=0.5,
227
  minimum=0.0,
228
  maximum=1.0,
229
  step=0.01,
 
223
  )
224
 
225
  threshold_professional_skills = number_create_ui(
226
+ value=0.45,
227
  minimum=0.0,
228
  maximum=1.0,
229
  step=0.01,
app/utils.py CHANGED
@@ -49,7 +49,7 @@ def read_csv_file(file_path, drop_columns=[]):
49
 
50
  def round_numeric_values(x):
51
  if isinstance(x, (int, float)):
52
- return round(x, 4)
53
 
54
  return x
55
 
 
49
 
50
  def round_numeric_values(x):
51
  if isinstance(x, (int, float)):
52
+ return round(x, 3)
53
 
54
  return x
55
 
config.toml CHANGED
@@ -1,5 +1,5 @@
1
  [AppSettings]
2
- APP_VERSION = "0.11.1"
3
  SERVER_NAME = "127.0.0.1"
4
  PORT = 7860
5
  CSS_PATH = "app.css"
@@ -44,7 +44,6 @@ CALCULATE_PT_SCORES_ERR = [
44
  CALCULATE_PRACTICAL_TASK = "Solving practical task"
45
  CLEAR_APP = ["Clear", "Сброс"]
46
  EXAMPLES_APP = ["Examples", "Примеры"]
47
- EXAMPLE_APP = ["Example", "Пример"]
48
  EXPORT_PT_SCORES = [
49
  "Export Big Five personality traits to a CSV file",
50
  "Экспорт показателей Большой пятерки персональных качеств личности человека в CSV файл"]
@@ -54,7 +53,7 @@ EXPORT_WT = "Export ranking effective work teams results to a CSV file"
54
  EXPORT_CP = "Export consumer preferences for industrial goods results to a CSV file"
55
  EXPORT_MBTI = "Export ranking personality type results to a CSV file"
56
  NOTI_CALCULATE = ["You can calculate Big Five personality traits scores", "Вы можете рассчитать показатели Большой пятерки персональных качеств личности человека"]
57
- SWITCHEHG_MODES_ONLINE = ["Webcam", "Веб-камера"]
58
  SWITCHEHG_MODES_OFFLINE = ["Video Files", "Видеофайлы"]
59
 
60
  [Labels]
@@ -72,7 +71,6 @@ TARGET_SCORE_EXT_LABEL = "Extraversion target score"
72
  TARGET_SCORE_AGR_LABEL = "Agreeableness target score"
73
  TARGET_SCORE_NNEU_LABEL = "Non-Neuroticism target score"
74
  EQUAL_COEFFICIENT_LABEL = "Equal coefficient"
75
- THRESHOLD_TARGET_SCORE_LABEL = "Polarity traits threshold"
76
  NUMBER_PRIORITY_LABEL = "Priority number"
77
  NUMBER_IMPORTANCE_TRAITS_LABEL = "Importance traits number"
78
  NUMBER_IMPORTANCE_OPE_LABEL = "Openness weight"
 
1
  [AppSettings]
2
+ APP_VERSION = "0.10.4"
3
  SERVER_NAME = "127.0.0.1"
4
  PORT = 7860
5
  CSS_PATH = "app.css"
 
44
  CALCULATE_PRACTICAL_TASK = "Solving practical task"
45
  CLEAR_APP = ["Clear", "Сброс"]
46
  EXAMPLES_APP = ["Examples", "Примеры"]
 
47
  EXPORT_PT_SCORES = [
48
  "Export Big Five personality traits to a CSV file",
49
  "Экспорт показателей Большой пятерки персональных качеств личности человека в CSV файл"]
 
53
  EXPORT_CP = "Export consumer preferences for industrial goods results to a CSV file"
54
  EXPORT_MBTI = "Export ranking personality type results to a CSV file"
55
  NOTI_CALCULATE = ["You can calculate Big Five personality traits scores", "Вы можете рассчитать показатели Большой пятерки персональных качеств личности человека"]
56
+ SWITCHEHG_MODES_ONLINE = ["Webcam", "Веб камера"]
57
  SWITCHEHG_MODES_OFFLINE = ["Video Files", "Видеофайлы"]
58
 
59
  [Labels]
 
71
  TARGET_SCORE_AGR_LABEL = "Agreeableness target score"
72
  TARGET_SCORE_NNEU_LABEL = "Non-Neuroticism target score"
73
  EQUAL_COEFFICIENT_LABEL = "Equal coefficient"
 
74
  NUMBER_PRIORITY_LABEL = "Priority number"
75
  NUMBER_IMPORTANCE_TRAITS_LABEL = "Importance traits number"
76
  NUMBER_IMPORTANCE_OPE_LABEL = "Openness weight"
practical_tasks_en.yaml CHANGED
@@ -7,9 +7,8 @@
7
  subtasks:
8
  - "Finding a suitable junior colleague"
9
  - "Finding a suitable senior colleague"
10
- - "Finding a suitable colleague by personality types"
11
  - task: "Predicting consumer preferences for industrial goods"
12
  subtasks:
13
  - "Car characteristics"
14
  - "Mobile device application categories"
15
- - "Clothing styles"
 
7
  subtasks:
8
  - "Finding a suitable junior colleague"
9
  - "Finding a suitable senior colleague"
 
10
  - task: "Predicting consumer preferences for industrial goods"
11
  subtasks:
12
  - "Car characteristics"
13
  - "Mobile device application categories"
14
+ - "Clothing style correlation"
practical_tasks_ru.yaml CHANGED
@@ -7,7 +7,6 @@
7
  subtasks:
8
  - "Поиск подходящего младшего коллеги"
9
  - "Поиск подходящего старшего коллеги"
10
- - "Поиск подходящего коллеги по типам личности"
11
  - task: "Прогнозирование потребительских предпочтений в отношении промышленных товаров"
12
  subtasks:
13
  - "Характеристики автомобиля"
 
7
  subtasks:
8
  - "Поиск подходящего младшего коллеги"
9
  - "Поиск подходящего старшего коллеги"
 
10
  - task: "Прогнозирование потребительских предпочтений в отношении промышленных товаров"
11
  subtasks:
12
  - "Характеристики автомобиля"
requirements.txt CHANGED
@@ -1,4 +1,4 @@
1
- gradio==5.8.0
2
  PyYAML==6.0.2
3
  toml==0.10.2
4
  oceanai==1.0.0a46
 
1
+ gradio==5.7.1
2
  PyYAML==6.0.2
3
  toml==0.10.2
4
  oceanai==1.0.0a46