def initialize(self): print(colored("Ragnar image search initialization start", color='blue')) init = Task(self.loop) search = init.do_the_task(self.RAGNAR_URL + "/imagery/search/initiate", headers, json.dumps(self.imagery)) assert search[0].get('pipelineId'),\ print(colored("Error, Ragnar image search failed: {}".format(str(search[0])), color='red')) result = init.wait_till_resolved( headers, json.dumps({"pipelineId": search[0]['pipelineId']})) assert result == 'RESOLVED',\ print(colored("Error, Ragnar image search failed, pipelineId: {}".format(result), color='red')) self.pipelineId = search[0]['pipelineId'] print(colored("Ragnar image search initialization OK", color='green')) return search[0]['pipelineId']
def retrieve(self, pipelines): print(colored("Kraken mapId retrieval start", color='blue')) URL = self.KRAKEN_URL + self.map_type + '/geojson/retrieve' retr = Task(self.loop) retrieved = retr.do_the_task(URL, headers, json.dumps(pipelines), True) result = retr.wait_till_resolved(headers, json.dumps(pipelines), True) for idx in retrieved: assert retrieved[idx].get('mapId'), \ print(colored("Error, Kraken mapId retrieval failed: {}".format(retrieved[idx]), color='red')) self.retr_mapIds = retrieved os.makedirs(self.path_RESULTS + self.map_type, exist_ok=True) write_json(self.retr_mapIds, self.path_RESULTS + self.map_type + "/Kraken_retrieved_mapIds.json") print(colored("Kraken mapId retrieval OK, mapIds written to file {}".format( self.path_RESULTS + self.map_type + "/Kraken_retrieved_mapIds.json"), color='green'))
def initialize(self, dates): print(colored("Kraken map initialization start", color='blue')) URL = self.KRAKEN_URL + self.map_type + '/geojson/initiate' init = Task(self.loop) scenes_in_range = {} all_payloads = {} dto = dt.strptime((dates['to'][:10]), "%Y-%m-%d") dfrom = dt.strptime((dates['from'][:10]), "%Y-%m-%d") found = False when_are_maps_available = [] for idx, band in enumerate(self.available_scenes['results']): date = dt.strptime((band['datetime'][:10]), "%Y-%m-%d") if dfrom < date < dto: scenes_in_range[len(scenes_in_range)] = band all_payloads[len(all_payloads)] = dict({ 'sceneId': band['sceneId'], 'extent': self.area_of_interest }) when_are_maps_available.append(str(date)[:10]) found = True assert found, print(colored("No map available in the selected period: {}".format(dates), color='red')) print(colored("Maps available in the following dates: {}".format(when_are_maps_available), color='blue')) write_json(scenes_in_range, self.path_RESULTS + 'Ragnar_retrieved_results_in_dates.json') start = time.time() search = init.do_the_task(URL, headers, json.dumps(all_payloads), repeat=True) print(colored("Time to init Kraken: {}".format(time.time() - start), color='blue')) pipelines = dict() for idx in search: assert search[idx].get('pipelineId'), \ print(colored("Error, Kraken map initialization failed: {}".format(str(search[idx])), color='red')) pipelines[idx] = dict(pipelineId=search[idx]['pipelineId']) result = init.wait_till_resolved(headers, json.dumps(pipelines), True) assert result == 'RESOLVED', \ print(colored("Error, Kraken map initialization failed: {}".format(result), color='red')) print(colored("Kraken map initialization OK", color='green')) return pipelines