1- from django .db import transaction
21import logging
2+ from abc import ABC , abstractmethod
33from typing import Dict
4+
45from alert_system .models import Connector , LoadItems
5- from abc import ABC , abstractmethod
66
77logger = logging .getLogger (__name__ )
88
@@ -13,40 +13,39 @@ class BaseLoaderClass(ABC):
1313 @abstractmethod
1414 def filter_eligible_items (self , load_obj ):
1515 raise NotImplementedError ()
16-
16+
1717 def load (self , transformed_data : Dict , connector : Connector ) -> LoadItems :
1818 """
1919 Save aggregated event.
20-
20+
2121 Args:
2222 transformed_data: Output from transformer.transform()
2323 connector: The connector this data came from
24-
24+
2525 Returns:
2626 Created DisasterEvent object
2727 """
28- correlation_id = transformed_data [' correlation_id' ]
28+ correlation_id = transformed_data [" correlation_id" ]
2929 is_item_eligible = self .filter_eligible_items (transformed_data )
30-
30+
3131 load_obj , created = LoadItems .objects .update_or_create (
3232 correlation_id = correlation_id ,
3333 defaults = {
34- 'connector' : connector ,
35- #'event_type': transformed_data.get('event_type'),
36- 'event_title' : transformed_data .get ('title' ),
37- 'event_description' : transformed_data .get ('description' ),
38- 'country' : transformed_data .get ('country' ),
39- 'severity_value' : transformed_data .get ('severity_value' ),
40- 'severity_label' : transformed_data .get ('severity_label' ),
41- 'severity_unit' : transformed_data .get ('severity_unit' ),
42- 'total_people_exposed' : transformed_data .get ('people_exposed' ),
43- 'total_buildings_exposed' : transformed_data .get ('buildings_exposed' ),
44- 'impact_metadata' : transformed_data .get ('impact_metadata' ),
45- 'item_eligible' : is_item_eligible ,
46- }
34+ "connector" : connector ,
35+ "event_title" : transformed_data .get ("title" ),
36+ "event_description" : transformed_data .get ("description" ),
37+ "country" : transformed_data .get ("country" ),
38+ "severity_value" : transformed_data .get ("severity_value" ),
39+ "severity_label" : transformed_data .get ("severity_label" ),
40+ "severity_unit" : transformed_data .get ("severity_unit" ),
41+ "total_people_exposed" : transformed_data .get ("people_exposed" ),
42+ "total_buildings_exposed" : transformed_data .get ("buildings_exposed" ),
43+ "impact_metadata" : transformed_data .get ("impact_metadata" ),
44+ "item_eligible" : is_item_eligible ,
45+ },
4746 )
48-
47+
4948 action = "Created" if created else "Updated"
5049 logger .info (f"{ action } Event for correlation_id={ correlation_id } " )
51-
50+
5251 return load_obj
0 commit comments