eodag.plugins.search.build_search_result.BuildPostSearchResult

eodag.plugins.search.build_search_result.BuildPostSearchResult#

class eodag.plugins.search.build_search_result.BuildPostSearchResult(provider: str, config: PluginConfig)[source]#

BuildPostSearchResult search plugin.

This plugin, which inherits from PostJsonSearch, performs a POST request and uses its result to build a single SearchResult object.

The available configuration parameters inherits from parent classes, with particularly for this plugin:

  • api_endpoint: (mandatory) The endpoint of the provider’s search interface

  • pagination: The configuration of how the pagination is done on the provider. It is a tree with the following nodes:

    • next_page_query_obj: (optional) The additional parameters needed to perform search. These paramaters won’t be included in result. This must be a json dict formatted like {{“foo”:”bar”}} because it will be passed to a .format() method before being loaded as json.

Parameters:
  • provider (dict) – An eodag providers configuration dictionary

  • config (str) – Path to the user configuration file

__init__(provider: str, config: PluginConfig) None#

Methods

__init__(provider, config)

build_query_string(product_type, **kwargs)

Build The query string using the search parameters

build_sort_by(sort_by_arg)

Build the sorting part of the query string or body by transforming the "sortBy" argument into a provider-specific string or dictionnary

clear()

Clear search context

collect_search_urls([page, items_per_page, ...])

Wraps PostJsonSearch.collect_search_urls to force product count to 1

count_hits([count_url, result_type])

Count method that will always return 1.

discover_product_types(**kwargs)

Fetch product types list from provider using discover_product_types conf

discover_queryables(**kwargs)

Fetch queryables list from provider using discover_queryables conf

do_search(*args, **kwargs)

Perform the actual search request, and return result in a single element.

get_collections(**kwargs)

Get the collection to which the product belongs

get_metadata_mapping([product_type])

Get the plugin metadata mapping configuration (product type specific if exists)

get_product_type_def_params(product_type, ...)

Get the provider product type definition parameters and specific settings

get_sort_by_arg(kwargs)

Extract the "sortBy" argument from the kwargs or the provider default sort configuration

list_queryables(filters[, product_type])

Get queryables

map_product_type(product_type, **kwargs)

Get the provider product type from eodag product type

normalize_results(results, **kwargs)

Build EOProduct from provider result

query([product_type, items_per_page, page, ...])

Perform a search on an OpenSearch-like interface

update_metadata_mapping(metadata_mapping)

Update plugin metadata_mapping with input metadata_mapping configuration

Attributes

DEFAULT_ITEMS_PER_PAGE

extract_properties

plugins

auth

next_page_url

next_page_query_obj

total_items_nb

need_count