Skip to content
Snippets Groups Projects
Commit 9f362b40 authored by pascal.mouquet_ird.fr's avatar pascal.mouquet_ird.fr
Browse files

download_eodag

parent c8a619a2
No related branches found
No related tags found
No related merge requests found
......@@ -55,13 +55,20 @@ class S2cEodag:
def search(
self,
productType = "S2_MSI_L1C",
productType: str = "L1C",
start: str = "2015-01-01",
end: str = "9999-01-01",
):
if productType == "L1C":
self.productType = "S2_MSI_L1C"
outputs_prefix = Path(Config().get("l1c_path")) / self.name
elif productType == "L2A":
self.productType = "S2_MSI_L2A"
outputs_prefix = Path(Config().get("l2a_path")) / self.name
default_search_criteria = dict(
productType = productType,
productType = self.productType,
start = start,
end = end
)
......@@ -71,11 +78,56 @@ class S2cEodag:
**default_search_criteria
)
logger.info("{} products were found given the above search criteria".format(len(self.products)))
logger.info(self.products)
logger.info([p.properties["storageStatus"] for p in self.products])
#### Vériffier ici si le produit existe déjà en local
# ~ logger.info(outputs_prefix)
for p in self.products:
# ~ logger.info("location: {}".format(p.location))
if (outputs_prefix / (p.properties["title"] + ".SAFE")).exists():
p.location = "file://" + str(outputs_prefix / (p.properties["title"] + ".SAFE"))
logger.info("Product {} locally present ".format(p.properties["title"]))
else:
logger.info("Product {} locally absent ".format(p.properties["title"]))
# ~ logger.info("location: {}".format(p.location))
# ~ logger.info("{} products were found given the above search criteria".format(len(self.products)))
# ~ logger.info(self.products)
# ~ logger.info([p.properties["storageStatus"] for p in self.products])
logger.info("{} products were found given the above search criteria".format(len(self.products)))
logger.info("{} products were found given the above search criteria, online".format(len(self.products.filter_online())))
# ~ logger.info("{} products were found given the above search criteria".format(len(self.products)))
# ~ logger.info("{} products were found given the above search criteria, online".format(len(self.products.filter_online())))
def download(
self,
product_id,
outputs_prefix: str = None,
extract: bool = True,
delete_archive: bool = True,
):
######### faudrait ici récupérer le type de produit L1C/L2A du nom du product_id et adapter le dossier en conséquence
if not outputs_prefix:
if self.productType == "S2_MSI_L1C":
root_path = "l1c_path"
elif self.productType == "S2_MSI_L2A":
root_path = "l2a_path"
outputs_prefix = str(Path(Config().get(root_path)) / self.name)
########## faudrait aussi mettre une condition sur le online
########## et si offline supprimer les retry
downloaded_path = self.dag.download(
product_id,
outputs_prefix = outputs_prefix,
extract = extract,
delete_archive = delete_archive,
)
if Path(downloaded_path).stem == Path(downloaded_path).parent.stem:
upper_location = Path(downloaded_path).parent.parent / Path(downloaded_path).name
Path(downloaded_path).replace(upper_location)
product_id.location = "file://" + str(upper_location)
Path(downloaded_path).parent.rmdir()
logger.info("Moving up SAVE file")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment