Пример #1
0
def stac_catalogs(catalogs):
    """Describe the given catalog and list available sub-catalogs
    ---
    tags:
      - Capabilities
    parameters:
      - name: catalogs
        in: path
        required: true
        description: |-
            The catalog's path.

            For a nested catalog, provide the root-related path to the catalog (for example `S2_MSI_L1C/year/2020`)
        schema:
            type: string
    responses:
        200:
            description: The catalog's description
            content:
                application/json:
                    schema:
                        $ref: '#/components/schemas/collection'
        '500':
            $ref: '#/components/responses/ServerError'
    """

    catalogs = catalogs.strip("/").split("/")
    response = get_stac_catalogs(
        url=request.url.split("?")[0],
        root=request.url_root,
        catalogs=catalogs,
        provider=request.args.to_dict().get("provider", None),
    )
    return jsonify(response), 200
Пример #2
0
def catalogs_root():
    """STAC catalogs root"""

    response = get_stac_catalogs(
        url=request.url.split("?")[0],
        root=request.url_root,
        catalogs=[],
        provider=request.args.to_dict().get("provider", None),
    )

    return jsonify(response), 200
Пример #3
0
logger = logging.getLogger("eodag.rest.server")

app = flask.Flask(__name__)

# eodag metadata
distribution = pkg_resources.get_distribution("eodag")
metadata_str = distribution.get_metadata(distribution.PKG_INFO)
metadata_obj = dist.DistributionMetadata()
metadata_obj.read_pkg_file(io.StringIO(metadata_str))

# confs from resources yaml files
stac_config = load_stac_config()

stac_api_config = {"info": {}}
stac_api_config = load_stac_api_config()
root_catalog = get_stac_catalogs(url="")
stac_api_version = stac_api_config["info"]["version"]
stac_api_config["info"]["title"] = root_catalog["title"] + " / eodag"
stac_api_config["info"]["description"] = (
    root_catalog["description"] +
    " (stac-api-spec {})".format(stac_api_version) + "".join([
        "\n - [{0}](/collections/{0}): {1}".format(pt["ID"], pt["abstract"])
        for pt in get_detailled_collections_list()
    ]))
stac_api_config["info"]["version"] = getattr(
    metadata_obj, "version", stac_api_config["info"]["version"])
stac_api_config["info"]["contact"]["name"] = "EODAG"
stac_api_config["info"]["contact"]["url"] = getattr(
    metadata_obj, "url", stac_api_config["info"]["contact"]["url"])
stac_api_config["title"] = root_catalog["title"] + " - service-doc"
stac_api_config["specs"] = [{