enricorampazzo commited on
Commit
e38718a
·
1 Parent(s): 37de7f1

code cleanup

Browse files
dam_helper/local_storage/entities.py CHANGED
@@ -96,3 +96,10 @@ class ContractorDetails(SavedDetails):
96
  if self.contractor_name is not None:
97
  answers[Questions.COMPANY_NAME] = self.contractor_name
98
  return answers
 
 
 
 
 
 
 
 
96
  if self.contractor_name is not None:
97
  answers[Questions.COMPANY_NAME] = self.contractor_name
98
  return answers
99
+
100
+
101
+ detail_classes = {
102
+ DetailsType.LOCATION_DETAILS: LocationDetails,
103
+ DetailsType.PERSONAL_DETAILS: PersonalDetails,
104
+ DetailsType.CONTRACTOR_DETAILS: ContractorDetails
105
+ }
dam_helper/local_storage/enums.py DELETED
File without changes
dam_helper/local_storage/ls_manager.py CHANGED
@@ -1,6 +1,7 @@
1
  from streamlit_local_storage import LocalStorage
2
 
3
- from dam_helper.local_storage.entities import SavedDetails, PersonalDetails, LocationDetails, ContractorDetails
 
4
  from dam_helper.enums.enums import DetailsType
5
 
6
 
@@ -12,34 +13,17 @@ class LocalStorageManager:
12
  for detail_type in DetailsType.values():
13
  detail = self.ls.getItem(detail_type.name).get(key)
14
  if detail:
15
- if detail_type.value == DetailsType.PERSONAL_DETAILS.value:
16
- return PersonalDetails(**detail)
17
- elif detail_type.value == DetailsType.LOCATION_DETAILS.value:
18
- return LocationDetails(**detail)
19
- elif detail_type.value == DetailsType.CONTRACTOR_DETAILS.value:
20
- return ContractorDetails(**detail)
21
  return None
22
  return None
23
 
24
  def save_details(self, details: SavedDetails):
25
- if isinstance(details, PersonalDetails):
26
- type_ = DetailsType.PERSONAL_DETAILS
27
- elif isinstance(details, LocationDetails):
28
- type_ = DetailsType.LOCATION_DETAILS
29
- elif isinstance(details, ContractorDetails):
30
- type_ = DetailsType.CONTRACTOR_DETAILS
31
- else:
32
- raise ValueError("Unexpected type: {}", type(details))
33
- existing_data = (self.ls.getItem(type_.name) or {})
34
  existing_data[details.key] = details.to_json()
35
- self.ls.setItem(type_.name, existing_data, type_.name)
36
 
37
  def get_details(self, type_: DetailsType) -> list[SavedDetails]:
38
- if type_.value == DetailsType.PERSONAL_DETAILS.value:
39
- cls = PersonalDetails
40
- elif type_.value == DetailsType.LOCATION_DETAILS.value:
41
- cls = LocationDetails
42
- else:
43
- cls = ContractorDetails
44
  details = self.ls.getItem(type_.name) or {}
45
  return [cls(**v) for k,v in details.items()]
 
1
  from streamlit_local_storage import LocalStorage
2
 
3
+ from dam_helper.local_storage.entities import SavedDetails, PersonalDetails, LocationDetails, ContractorDetails, \
4
+ detail_classes
5
  from dam_helper.enums.enums import DetailsType
6
 
7
 
 
13
  for detail_type in DetailsType.values():
14
  detail = self.ls.getItem(detail_type.name).get(key)
15
  if detail:
16
+ cls = detail_classes[detail_type]
17
+ cls(**detail)
 
 
 
 
18
  return None
19
  return None
20
 
21
  def save_details(self, details: SavedDetails):
22
+ existing_data = (self.ls.getItem(details.type_.name) or {})
 
 
 
 
 
 
 
 
23
  existing_data[details.key] = details.to_json()
24
+ self.ls.setItem(details.type_.name, existing_data, details.type_.name)
25
 
26
  def get_details(self, type_: DetailsType) -> list[SavedDetails]:
27
+ cls = detail_classes[type_]
 
 
 
 
 
28
  details = self.ls.getItem(type_.name) or {}
29
  return [cls(**v) for k,v in details.items()]
dam_helper/ui_manager/ui_manager.py CHANGED
@@ -8,7 +8,8 @@ from dam_helper.email_manager.email_manager import EmailManager
8
  from dam_helper.enums.enums import Steps, DetailsType, Questions as Q
9
  from dam_helper.form.form import work_categories, build_form_data_from_answers, write_pdf_form
10
  from dam_helper.llm_manager.llm_parser import LlmParser
11
- from dam_helper.local_storage.entities import PersonalDetails, LocationDetails, ContractorDetails, SavedDetails
 
12
  from dam_helper.local_storage.ls_manager import LocalStorageManager
13
  from dam_helper.prompts.prompts_manager import PromptsManager
14
  from dam_helper.repository import Model, ModelRoles
@@ -228,12 +229,7 @@ class UIManager:
228
 
229
  @st.dialog("Add new")
230
  def add_new_detail_dialog(self, type_: DetailsType):
231
- if type_.name == DetailsType.CONTRACTOR_DETAILS.name:
232
- new_item = ContractorDetails()
233
- elif type_.name == DetailsType.PERSONAL_DETAILS.name:
234
- new_item = PersonalDetails()
235
- else:
236
- new_item = LocationDetails()
237
  with st.form("new item", border=False):
238
  fields_labels = new_item.widget_labels()
239
  for k, v in fields_labels.items():
 
8
  from dam_helper.enums.enums import Steps, DetailsType, Questions as Q
9
  from dam_helper.form.form import work_categories, build_form_data_from_answers, write_pdf_form
10
  from dam_helper.llm_manager.llm_parser import LlmParser
11
+ from dam_helper.local_storage.entities import PersonalDetails, LocationDetails, ContractorDetails, SavedDetails, \
12
+ detail_classes
13
  from dam_helper.local_storage.ls_manager import LocalStorageManager
14
  from dam_helper.prompts.prompts_manager import PromptsManager
15
  from dam_helper.repository import Model, ModelRoles
 
229
 
230
  @st.dialog("Add new")
231
  def add_new_detail_dialog(self, type_: DetailsType):
232
+ new_item = detail_classes[type_]()
 
 
 
 
 
233
  with st.form("new item", border=False):
234
  fields_labels = new_item.widget_labels()
235
  for k, v in fields_labels.items():