def visit(self, data: JSON): """ Removes quirks like `"streetAddress": " "` in Location """ for key, value in data.copy().items(): if isinstance(value, dict): self.visit(value) elif isinstance(value, str): if value == "N/A" or not value.strip(): del data[key]
def visit(self, data: JSON): """Removes quirks like `"streetAddress": " "` in Location""" # `"auxiliaryFile": { ... }` -> `"auxiliaryFile": [{ ... }]` if "auxiliaryFile" in data and isinstance(data["auxiliaryFile"], dict): logger.warning( f"auxiliaryFile is supposed to be an array of objects, " f"but is an object (in {data.get('id')})") data["auxiliaryFile"] = [data["auxiliaryFile"]] for key, value in data.copy().items(): if isinstance(value, dict): self.visit(value) if isinstance(value, list): for i in value: if isinstance(i, dict): self.visit(i) elif isinstance(value, str): if value == "N/A" or not value.strip(): del data[key]