def delete_by_collection(connector, host, key, collectionid, recursive=True, delete_colls=False): """Delete datasets from Clowder by iterating through collection. Keyword arguments: connector -- connector information, used to get missing parameters and send status updates host -- the clowder host, including http and port, should end with a / key -- the secret key to login to clowder collectionid -- the collection to walk recursive -- whether to also iterate across child collections delete_colls -- whether to also delete collections containing the datasets """ dslist = get_datasets(connector, host, key, collectionid) for ds in dslist: delete(connector, host, key, ds['id']) if recursive: childcolls = get_child_collections(connector, host, key, collectionid) for coll in childcolls: delete_by_collection(connector, host, key, coll['id'], recursive, delete_colls) if delete_colls: delete_collection(connector, host, key, collectionid)
def submit_extractions_by_collection(connector, host, key, collectionid, extractorname, recursive=True): """Manually trigger an extraction on all datasets in a collection. This will iterate through all datasets in the given collection and submit them to the provided extractor. Keyword arguments: connector -- connector information, used to get missing parameters and send status updates host -- the clowder host, including http and port, should end with a / key -- the secret key to login to clowder datasetid -- the dataset UUID to submit extractorname -- registered name of extractor to trigger recursive -- whether to also submit child collection datasets recursively (defaults to True) """ dslist = get_datasets(connector, host, key, collectionid) for ds in dslist: submit_extraction(connector, host, key, ds['id'], extractorname) if recursive: childcolls = get_child_collections(connector, host, key, collectionid) for coll in childcolls: submit_extractions_by_collection(connector, host, key, coll['id'], extractorname, recursive)
def submit_extractions_by_collection(connector, host, key, collectionid, extractorname, ext=False, recursive=True): """Manually trigger an extraction on all files in a collection. This will iterate through all datasets in the given collection and submit them to the submit_extractions_by_dataset(). Does not operate recursively if there are nested collections. Keyword arguments: connector -- connector information, used to get missing parameters and send status updates host -- the clowder host, including http and port, should end with a / key -- the secret key to login to clowder collectionid -- the collection UUID to submit extractorname -- registered name of extractor to trigger ext -- extension to filter. e.g. 'tif' will only submit TIFF files for extraction recursive -- whether to also submit child collection files recursively (defaults to True) """ dslist = get_datasets(connector, host, key, collectionid) for ds in dslist: submit_extractions_by_dataset(connector, host, key, ds['id'], extractorname, ext) if recursive: childcolls = get_child_collections(connector, host, key, collectionid) for coll in childcolls: submit_extractions_by_collection(connector, host, key, coll['id'], extractorname, ext, recursive)