def read_from_url(self, url, parameters=None): """ Read the data from the URL, override to catch Exception without exiting process. :param url: the url to fetch :param parameters: optional dict of query parameters :return: """ if len(self.sensor_items) == 0: log.info('Fetch data from URL: %s ...' % url) try: data = HttpInput.read_from_url(self, url, parameters) except Exception as e: log.error( 'Error RawSensorAPIInput.read_from_url %s: e=%s, skip bbox...' % (url, str(e))) data = None if data is None: return None # Parse JSON from data string fetched by base method read() self.sensor_items = self.parse_json_str(data) self.sensor_item = self.next_entry(self.sensor_items) # Everything is fine return self.sensor_item