#284 Empty API data
* adds proper message for certain data parsing in case of an error
This commit is contained in:
		
							parent
							
								
									9c8286a5d1
								
							
						
					
					
						commit
						2950487f9c
					
				@ -297,9 +297,12 @@ class AbstractCompensationAPISerializerV1Mixin:
 | 
			
		||||
        """
 | 
			
		||||
        deadlines = []
 | 
			
		||||
        for entry in deadline_data:
 | 
			
		||||
            deadline_type = entry["type"]
 | 
			
		||||
            date = entry["date"]
 | 
			
		||||
            comment = entry["comment"]
 | 
			
		||||
            try:
 | 
			
		||||
                deadline_type = entry["type"]
 | 
			
		||||
                date = entry["date"]
 | 
			
		||||
                comment = entry["comment"]
 | 
			
		||||
            except KeyError:
 | 
			
		||||
                raise ValueError(f"Invalid deadline content. Content was {entry} but should follow the specification")
 | 
			
		||||
 | 
			
		||||
            # Check on validity
 | 
			
		||||
            if deadline_type not in DeadlineType:
 | 
			
		||||
@ -341,11 +344,14 @@ class AbstractCompensationAPISerializerV1Mixin:
 | 
			
		||||
        """
 | 
			
		||||
        states = []
 | 
			
		||||
        for entry in states_data:
 | 
			
		||||
            biotope_type = entry["biotope"]
 | 
			
		||||
            biotope_details = [
 | 
			
		||||
                self._konova_code_from_json(e, CODELIST_BIOTOPES_EXTRA_CODES_ID) for e in entry["biotope_details"]
 | 
			
		||||
            ]
 | 
			
		||||
            surface = float(entry["surface"])
 | 
			
		||||
            try:
 | 
			
		||||
                biotope_type = entry["biotope"]
 | 
			
		||||
                biotope_details = [
 | 
			
		||||
                    self._konova_code_from_json(e, CODELIST_BIOTOPES_EXTRA_CODES_ID) for e in entry["biotope_details"]
 | 
			
		||||
                ]
 | 
			
		||||
                surface = float(entry["surface"])
 | 
			
		||||
            except KeyError:
 | 
			
		||||
                raise ValueError(f"Invalid biotope content. Content was {entry} but should follow the specification ")
 | 
			
		||||
 | 
			
		||||
            # Check on validity
 | 
			
		||||
            if surface <= 0:
 | 
			
		||||
@ -385,16 +391,19 @@ class AbstractCompensationAPISerializerV1Mixin:
 | 
			
		||||
        """
 | 
			
		||||
        actions = []
 | 
			
		||||
        for entry in actions_data:
 | 
			
		||||
            action_types = [
 | 
			
		||||
                self._konova_code_from_json(e, CODELIST_COMPENSATION_ACTION_ID) for e in entry["action_types"]
 | 
			
		||||
            ]
 | 
			
		||||
            action_details = [
 | 
			
		||||
                self._konova_code_from_json(e, CODELIST_COMPENSATION_ACTION_DETAIL_ID) for e in entry["action_details"]
 | 
			
		||||
            ]
 | 
			
		||||
            amount = float(entry["amount"])
 | 
			
		||||
            # Mapping of old "qm" into "m²"
 | 
			
		||||
            unit = UnitChoices.m2.value if entry["unit"] == "qm" else entry["unit"]
 | 
			
		||||
            comment = entry["comment"]
 | 
			
		||||
            try:
 | 
			
		||||
                action_types = [
 | 
			
		||||
                    self._konova_code_from_json(e, CODELIST_COMPENSATION_ACTION_ID) for e in entry["action_types"]
 | 
			
		||||
                ]
 | 
			
		||||
                action_details = [
 | 
			
		||||
                    self._konova_code_from_json(e, CODELIST_COMPENSATION_ACTION_DETAIL_ID) for e in entry["action_details"]
 | 
			
		||||
                ]
 | 
			
		||||
                amount = float(entry["amount"])
 | 
			
		||||
                # Mapping of old "qm" into "m²"
 | 
			
		||||
                unit = UnitChoices.m2.value if entry["unit"] == "qm" else entry["unit"]
 | 
			
		||||
                comment = entry["comment"]
 | 
			
		||||
            except KeyError:
 | 
			
		||||
                raise ValueError(f"Invalid action content. Content was {entry} but should follow specification")
 | 
			
		||||
 | 
			
		||||
            # Check on validity
 | 
			
		||||
            if amount <= 0:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user