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
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-05 14:02 +0000
1"""Handles Config"""
4class Config:
5 """App configuration settings"""
7 def __init__(self, database_manager):
9 self.database_manager = database_manager
10 self.max_num_of_skills = 10
11 self.min_num_ranking_student_to_opportunities = 5
13 self.update()
15 def get_max_num_of_skills(self) -> int:
16 """Get number of skills"""
17 return self.max_num_of_skills
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
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 )
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 )
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 )
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
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 )