Coverage for core/configuration_settings.py: 100%

25 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-05-05 14:02 +0000

1"""Handles Config""" 

2 

3 

4class Config: 

5 """App configuration settings""" 

6 

7 def __init__(self, database_manager): 

8 

9 self.database_manager = database_manager 

10 self.max_num_of_skills = 10 

11 self.min_num_ranking_student_to_opportunities = 5 

12 

13 self.update() 

14 

15 def get_max_num_of_skills(self) -> int: 

16 """Get number of skills""" 

17 return self.max_num_of_skills 

18 

19 def get_min_num_ranking_student_to_opportunities(self) -> int: 

20 """Get minimum number of ranking student to opportunities""" 

21 return self.min_num_ranking_student_to_opportunities 

22 

23 def update(self): 

24 """Update the configuration settings""" 

25 temp_num_of_skills = self.database_manager.get_one_by_field( 

26 "config", "name", "num_of_skills" 

27 ) 

28 temp_min_num_ranking_student_to_opportunities = ( 

29 self.database_manager.get_one_by_field( 

30 "config", "name", "min_num_ranking_student_to_opportunities" 

31 ) 

32 ) 

33 

34 if temp_num_of_skills: 

35 self.max_num_of_skills = temp_num_of_skills["value"] 

36 else: 

37 self.database_manager.insert( 

38 "config", {"name": "num_of_skills", "value": self.max_num_of_skills} 

39 ) 

40 

41 if temp_min_num_ranking_student_to_opportunities: 

42 self.min_num_ranking_student_to_opportunities = ( 

43 temp_min_num_ranking_student_to_opportunities["value"] 

44 ) 

45 else: 

46 self.database_manager.insert( 

47 "config", 

48 { 

49 "name": "min_num_ranking_student_to_opportunities", 

50 "value": self.min_num_ranking_student_to_opportunities, 

51 }, 

52 ) 

53 

54 def set_num_of_skills(self, num_of_skills): 

55 """Set number of skills""" 

56 self.database_manager.update_one_by_field( 

57 "config", "name", "num_of_skills", {"value": num_of_skills} 

58 ) 

59 self.max_num_of_skills = num_of_skills 

60 

61 def set_min_num_ranking_student_to_opportunities( 

62 self, min_num_ranking_student_to_opportunities 

63 ): 

64 """Set minimum number of ranking student to opportunities""" 

65 self.database_manager.update_one_by_field( 

66 "config", 

67 "name", 

68 "min_num_ranking_student_to_opportunities", 

69 {"value": min_num_ranking_student_to_opportunities}, 

70 ) 

71 self.min_num_ranking_student_to_opportunities = ( 

72 min_num_ranking_student_to_opportunities 

73 )