isogeo_pysdk.api.routes_metadata_bulk module

Isogeo API v1 - API Route for bulk update on resources (= Metadata)

class isogeo_pysdk.api.routes_metadata_bulk.ApiBulk(api_client=None)

Bases: object

Routes as methods of Isogeo API used to mass edition of metadatas (resources).

Example

# retrieve objects to be associated
catalog_1 = isogeo.catalog.get(
    workgroup_id={WORKGROUP_UUID},
    catalog_id={CATALOG_UUID_1},
)

catalog_2 = isogeo.catalog.get(
    workgroup_id={WORKGROUP_UUID},
    catalog_id={CATALOG_UUID_2},
)

keyword = isogeo.keyword.get(keyword_id={KEYWORD_UUID},)

# along the script, prepare the bulk requests
isogeo.metadata.bulk.prepare(
    metadatas=(
        {METADATA_UUID_1},
        {METADATA_UUID_2},
    ),
    action="add",
    target="catalogs",
    models=(catalog_1, catalog_2),
)

isogeo.metadata.bulk.prepare(
    metadatas=(
        {METADATA_UUID_1},

    ),
    action="add",
    target="keywords",
    models=(keyword,),
)

# send the one-shot request
isogeo.metadata.bulk.send()
BULK_DATA = []
prepare(metadatas, action, target, models)

Prepare requests to be sent later in one shot.

Parameters
  • metadatas (tuple) – tuple of metadatas UUIDs or Metadatas to be updated

  • action (str) – type of action to perform on metadatas. See: bulk_actions.

  • target (str) – kind of object to add/delete/update to the metadatas. See: bulk_targets.

  • models (tuple) – tuple of objects to be associated with the metadatas.

Return type

BulkRequest

send()

Send prepared BULK_DATA to the POST BULK resources/.

Return type

List[BulkReport]