eomatch.finder.base.BaseMUFinder.run_scrappi

eomatch.finder.base.BaseMUFinder.run_scrappi#

BaseMUFinder.run_scrappi(query: dict, context: dict | None = None) → scrappi.ProductItemSet[source]#

Execute a single scrappi query and return the matching products.

If the query returns no products an empty ProductItemSet is returned rather than None. Results are sorted by start_time before being returned.

The platform key is stripped from the query before it is passed to scrappi for satellite (eodag-backed) collections. Passing it through causes scrappi to forward it to eodag as a provider-level search filter (e.g. platformSerialIdentifier='A' on cop_dataspace) which frequently returns zero results. Platform-level filtering is instead performed in the caller after products are returned.

For in-situ collections (e.g. RadCalNet’s RCN_TOA/RCN_BOA), platform is left in the query instead – the in-situ API handler needs it to know which ground site to query (it renames the key to site itself; see RadcalnetCallHandler.perform_query), and there is no other way to tell it which site.

Parameters:
  • query – scrappi query dict (keys depend on the collection type).

  • context – optional ScrappiContext; defaults to this finder’s own context (self.context).

Returns:

sorted ProductItemSet of matching products.