emop.lib.transfer package

Submodules

emop.lib.transfer.globus module

class emop.lib.transfer.globus.GlobusAPIClient(settings)[source]

Bases: object

autoactivate(endpoint)[source]

Globus API - autoactivate

Args:
endpoint (str): Globus Endpoint
Returns:
dict: Globus autoactivate data
check_activated(endpoint)[source]

Globus API - check activation and autoactivate

Args:
endpoint (str): Globus Endpoint
Returns:
int: Seconds left in endpoint activation
create_transfer(src, dest, **kw)[source]

Globus API - create transfer

The Globus submission ID is retrieved and a Transfer object created

Args:
src (str): Globus source transfer endpoint dest (str): Globus destination transfer endpoint
Returns:
Transfer: Globus Transfer object
endpoint_ls(endpoint, path)[source]

Globus API - endpoint_ls

Args:
endpoint (str): Globus Endpoint path (str): Path to ls
Returns:
dict: Globus endpoint_ls data
get_activate_url(endpoint)[source]

Globus API - endpoint acivation URL

Args:
endpoint (str): Globus Endpoint
Returns:
str: Globus endpoint activation URL
get_endpoint_data(endpoint, **kwargs)[source]

Globus API - endpoint

Args:
endpoint (str): Globus Endpoint
Returns:
dict: Globus endpoint data
get_goauth_data()[source]

Get GOAuth data

The file at $EMOP_HOME/.globus-auth (settings.globus_auth_file) is read, if it exists. If the .globus-auth file does not exist, the data is pulled from Globus Online by prompting user for username (if not provided in config.ini) and password. This function will save the goauth token to .globus-auth if it did not already exist.

Args:

Returns:
tuple: username and goauth token
get_successful_task(task_id, **kwargs)[source]

Globus API - task_successful_transfers

Args:
task_id (str): Globus task ID
Returns:
dict: Globus task successful transfer data
get_task(task_id, **kwargs)[source]

Globus API - task

Args:
task_id (str): Globus Task ID
Returns:
dict: Globus Task data
send_transfer(transfer)[source]

Globus API - transfer

Args:
transfer (Transfer): Globus Transfer object
Returns:
str: Globus transfer Task ID
task_list()[source]

Globus API - task_list

Args:

Returns:
dict: Globus task_list data
wait_for_task(task_id, timeout=120, poll_interval=10)[source]

Globus API - wait for task

A task status is queried and this function will wait for the status to be SUCCEEDED or FAILED up to timeout value.

Args:
task_id (str): Globus task ID to wait for timeout (int): How long to wait for the task before timing out poll_interval (int): How often to query the task status
Returns:
str: Globus task status - None is returned if wait times out

Module contents