isogeo_pysdk.api.routes_metadata module¶
Isogeo API v1 - API Routes for Resources (= Metadata) entity
See: http://help.isogeo.com/api/complete/index.html#definition-resource
-
class
isogeo_pysdk.api.routes_metadata.
ApiMetadata
(api_client=None)¶ Bases:
object
Routes as methods of Isogeo API used to manipulate metadatas (resources).
-
catalogs
(self, metadata)¶ Returns asssociated catalogs with a metadata. Just a shortcut.
Parameters: metadata (Metadata) – metadata object Return type: list
-
create
(workgroup_id, metadata, return_basic_or_complete=0)¶ Add a new metadata to a workgroup.
Parameters: - workgroup_id (str) – identifier of the owner workgroup
- metadata (Metadata) – Metadata model object to create
- return_basic_or_complete (bool) –
creation of metada uses a bulk script. So, by default API does not return the complete object but the minimal info. This option allow to overrides the basic behavior. Options:
- 0 = basic (only the _id, title and attributes passed for the creation) [DEFAULT]
- 1 = complete (make an addtionnal request)
Return type: Example: # create a local metadata my_metadata = Metadata( title="My awesome metadata", # required type="vectorDataset", # required abstract="Here comes my **awesome** description with a piece of markdown." # optional ) # push it online isogeo.metadata.create( workgroup_id=WORKGROUP_UUID, metadata=my_metadata )
-
delete
(metadata_id)¶ Delete a metadata from Isogeo database.
Parameters: metadata_id (str) – identifier of the resource to delete Return type: Response
-
download_xml
(metadata)¶ Download the metadata exported into XML ISO 19139.
Parameters: metadata (Metadata) – metadata object to export Return type: Response Example: # get the download stream xml_stream = isogeo.metadata.download_xml(Metadata(_id=METADATA_UUID)) # write it to a file with open("./{}.xml".format("metadata_exported_as_xml"), "wb") as fd: for block in xml_stream.iter_content(1024): fd.write(block)
-
exists
(resource_id)¶ Check if the specified resource exists and is available for the authenticated user.
Parameters: resource_id (str) – identifier of the resource to verify Return type: bool
-
get
(self, metadata_id, include=())¶ Get complete or partial metadata about a specific metadata (= resource).
Parameters: - metadata_id (str) – metadata UUID to get
- include (tuple) –
subresources that should be included. Available values:
- one or various from MetadataSubresources (Enum)
- ”all” to get complete metadata with every subresource included
Return type:
-
keywords
(metadata, include=('_abilities', 'count', 'thesaurus'))¶ Returns asssociated keywords with a metadata. Just a shortcut.
Parameters: - metadata (Metadata) – metadata object
- include (tuple) – subresources that should be returned. Available values:
- ‘_abilities’
- ‘count’
- ‘thesaurus’
Return type: list
-
update
(metadata, _http_method='PATCH')¶ Update a metadata, but ONLY the root attributes, not the subresources.
Certain attributes of the Metadata object to update are required:
- _id
- editionProfile
- type
See: https://github.com/isogeo/isogeo-api-py-minsdk/issues/116
Parameters: - metadata (Metadata) – metadata object to update
- _http_method (str) – HTTP method (verb) to use. Default to ‘PATCH’ but can be set to ‘PUT’ in certain cases (services).
Return type: Returns: the updated metadata or the request error.
Example: # get a metadata my_metadata = isogeo.metadata.get(metadata_id=METADATA_UUID) # add an updated watermark in the abstract my_metadata.abstract += '**Updated!**' # push it online isogeo.metadata.update(my_metadata)
-