Full Reference
ibridges.data_operations module
Data transfers.
Transfer data between local file system and iRODS, includes upload, download and sync.
- ibridges.data_operations.create_collection(session, coll_path)
Create a collection and all parent collections that do not exist yet.
Alias for
ibridges.path.IrodsPath.create_collection()- Parameters:
- Raises:
PermissionError: – If creating a collection is not allowed by the server.
- Return type:
iRODSCollection
Examples
>>> create_collection(session, IrodsPath("~/new_collection"))
- ibridges.data_operations.download(session, irods_path, local_path, overwrite=False, ignore_err=False, resc_name='', copy_empty_folders=True, options=None, dry_run=False)
Download a collection or data object to the local filesystem.
- Parameters:
session (
Session) – Session to download the collection from.irods_path (IrodsPath) – Absolute irods source path pointing to a collection
local_path (Path) – Absolute path to the destination directory
overwrite (bool) – If an error occurs during download, and ignore_err is set to True, any errors encountered will be transformed into warnings and iBridges will continue to download the remaining files. By default all errors will stop the process of downloading.
ignore_err (bool) – Collections: If download of an item fails print error and continue with next item.
resc_name (str) – Name of the resource from which data is downloaded, by default the server will decide.
copy_empty_folders (bool) – Create respective local directory for empty collections.
options (dict) – More options for the download
dry_run (
bool) – Whether to do a dry run before uploading the files/folders.
- Raises:
PermissionError: – If the iRODS server (for whatever reason) forbids downloading the file or (part of the) collection.
ValueError: – If the irods_path is not pointing to either a collection or a data object.
FileExistsError: – If the irods_path points to a data object and the local file already exists.
NotADirectoryError: – If the irods_path is a collection, while the destination is a file.
Examples
>>> download(session, "~/some_collection", "some_local_dir") >>> download(session, IrodsPath(session, "some_obj.txt"), "some_local_dir") >>> ops = download(session, "~/some_obj.txt", "some_local_dir", dry_run=True) >>> print(ops) {'create_dir': set(), 'create_collection': set(), 'upload': [], 'download': [(IrodsPath(~, some_obj.txt), PosixPath('some_local_dir'))], 'resc_name': '', 'options': None}
- ibridges.data_operations.perform_operations(session, operations, ignore_err=False)
Execute data operations.
The operations can be obtained with a dry run of the upload/download/sync function.
- Parameters:
session (
Session) – Session to do the data operations for.operations (
dict) – Dictionary containing the operations to perform.ignore_err (
bool) – Ignore any errors and convert them into warnings if True.
- Raises:
PermissionError: – When the operation is not allowed on either the iRODS server or locally.
Examples
>>> perform_operations(session, ops)
- ibridges.data_operations.sync(session, source, target, max_level=None, dry_run=False, ignore_err=False, copy_empty_folders=False, resc_name='', options=None)
Synchronize the data between a local copy (local file system) and the copy stored in iRODS.
The command can be in one of the two modes: synchronization of data from the client’s local file system to iRODS, or from iRODS to the local file system. The mode is determined by the type of the values for source and target (IrodsPath or str/Path).
The command considers the file size and the checksum to determine whether a file should be synchronized.
- Parameters:
session (ibridges.Session) – An authorized iBridges session.
source (str or Path or IrodsPath) – Existing local folder or iRODS collection. An exception will be raised if it doesn’t exist.
target (str or Path or IrodsPath) – Existing local folder or iRODS collection. An exception will be raised if it doesn’t exist.
max_level (int, default None) – Controls the depth up to which the file tree will be synchronized. A max level of 1 synchronizes only the source’s root, max level 2 also includes the first set of subfolders/subcollections and their contents, etc. Set to None, there is no limit (full recursive synchronization).
dry_run (bool, default False) – List all source files and folders that need to be synchronized without actually performing synchronization.
ignore_err (If an error occurs during the transfer, and ignore_err is set to True,) – any errors encountered will be transformed into warnings and iBridges will continue to transfer the remaining files.
copy_empty_folders (bool, default False) – Controls whether folders/collections that contain no files or subfolders/subcollections will be synchronized.
resc_name (str) – Name of the resource from which data is downloaded, by default the server will decide.
options (dict) – More options for the download/upload
- Return type:
dict- Returns:
- A dict object containing four keys:
’create_dir’ : Create local directories when sync from iRODS to local ‘create_collection’ : Create collections when sync from local to iRODS ‘upload’ : Tuple(local path, iRODS path) when sync from local to iRODS ‘download’ : Tuple(iRODS path, local path) when sync from iRODS to local
(or of to-be-changed folders and files, when in dry-run mode).
- ibridges.data_operations.upload(session, local_path, irods_path, overwrite=False, ignore_err=False, resc_name='', copy_empty_folders=True, options=None, dry_run=False)
Upload a local directory or file to iRODS.
- Parameters:
session (
Session) – Session to upload the data to.local_path (Path) – Absolute path to the directory to upload
irods_path (IrodsPath) – Absolute irods destination path
overwrite (bool) – If data object or collection already exists on iRODS, overwrite
ignore_err (bool) – If an error occurs during upload, and ignore_err is set to True, any errors encountered will be transformed into warnings and iBridges will continue to upload the remaining files. By default all errors will stop the process of uploading.
resc_name (str) – Name of the resource to which data is uploaded, by default the server will decide
copy_empty_folders (bool) – Create respective iRODS collection for empty folders. Default: True.
options (dict) – More options for the upload
dry_run (
bool) – Whether to do a dry run before uploading the files/folders.
- Raises:
ValueError: – If the local_path is not a valid filename of directory.
PermissionError: – If the iRODS server does not allow the collection or data object to be created.
Examples
>>> ipath = IrodsPath(session, "~/some_col") >>> upload(session, Path("dir"), ipath) >>> upload(session, Path("dir"), ipath, overwrite=True) >>> ops = upload(session, Path("some_file.txt"), ipath, dry_run) # Does not upload >>> print(ops) {'create_dir': set(), 'create_collection': set(), 'upload': [(PosixPath('some_file.txt'), IrodsPath(~, some_col))], 'download': [], 'resc_name': '', 'options': None}
ibridges.export_metadata module
Exporting metadata.
- ibridges.export_metadata.export_metadata_to_dict(meta, session, recursive=True, keys=None)
Retrieve the metadata of the item and brings it into dict form.
If the item is a collection all metadata from all subcollections and data objects will also be exported.
- {
“name”: name “irods_id”: iRODS database ID “metadata”: [(key, val, units), (key, val, units) ….] “collections”: [ # only if collection and recursive == True
- {
“rel_path”: relative path to upper rel_path “irods_id”: iRODS database ID “metadata”: [(key, val, units), (key, val, units) ….]
}, {
“rel_path”: relative path to upper rel_path “irods_id”: iRODS database ID “metadata”: [(key, val, units), (key, val, units) ….]
}, …
] “data_objects”:[ # only if collection and recurisve == True
- {
“rel_path”: relative path to upper rel_path “irods_id”: iRODS database ID “checksum”: <checksum> “metadata”: [(key, val, units), (key, val, units) ….]
}, {
“rel_path”: relative path to upper rel_path “irods_id”: iRODS database ID “checksum”: <checksum> “metadata”: [(key, val, units), (key, val, units) ….]
}, …
]
}
- Parameters:
meta (
MetaData) – Metadata object to the collection or data object.session (
Session) – Session for which the metadata is retrieved.recursive (
bool) – Whether to also retrieve metadata for the sub collections (if applicable).keys (
Optional[list]) – Select all entries that have a name within this list, other entries are discarded. If keys is None, then all metadata entries are selected.
- Raises:
ValueError: – If the metadata object is not pointing to a collection or data object.
- Return type:
dict- Returns:
Dictionary containing the requested metadata items.
ibridges.icat_columns module
Definition of keywors and operators for iCAT searches.
ibridges.interactive module
Interactive authentication with iRODS server.
- ibridges.interactive.interactive_auth(password=None, irods_env_path=None)
Interactive authentication with iRODS server.
Stores the password in ~/.irods/.irodsA upon success.
- Parameters:
password (
Optional[str]) – Password to make the connection with. If not supplied, you will be asked interactively.irods_env_path (
Union[None,str,Path]) – Path to the irods environment.
- Raises:
FileNotFoundError: – If the irods_env_path does not exist.
ValueError: – If the connection to the iRods server cannot be established.
- Return type:
- Returns:
A connected session to the server.
ibridges.meta module
metadata operations.
- class ibridges.meta.MetaData(item)
Bases:
objectIrods metadata operations.
This allows for adding and deleting of metadata entries for data objects and collections.
Examples
>>> meta = MetaData(coll) >>> "Author" in meta True >>> for entry in meta: >>> print(entry.key, entry.value, entry.units) Author Ben Mass 10 kg >>> meta.add("Author", "Emma") >>> meta.set("Author", "Alice") >>> meta.delete("Author") >>> print(meta) {Mass, 10, kg}
- add(key, value, units=None)
Add metadata to an item.
This will never overwrite an existing entry.
- Parameters:
key (
str) – Key of the new entry to add to the item.value (
str) – Value of the new entry to add to the item.units (
Optional[str]) – The units of the new entry.
- Raises:
ValueError: – If the metadata already exists.
PermissionError: – If the metadata cannot be updated because the user does not have sufficient permissions.
Examples
>>> meta.add("Author", "Ben") >>> meta.add("Mass", "10", "kg")
- clear()
Delete all metadata belonging to the item.
- Raises:
PermissionError: – If the user has insufficient permissions to delete the metadata.
- delete(key, value, units=None)
Delete a metadata entry of an item.
- Parameters:
key (
str) – Key of the new entry to add to the item.value (
Optional[str]) – Value of the new entry to add to the item.units (
Optional[str]) – The units of the new entry.
- Raises:
KeyError: – If the to be deleted key cannot be found.
PermissionError: – If the user has insufficient permissions to delete the metadata.
Examples
>>> # Delete the metadata entry with mass 10 kg >>> meta.delete("mass", "10", "kg") >>> # Delete all metadata with key mass and value 10 >>> meta.delete("mass", "10") >>> # Delete all metadata with the key mass >>> meta.delete("mass")
- set(key, value, units=None)
Set the metadata entry.
If the metadata entry already exists, then all metadata entries with the same key will be deleted before adding the new entry. An alternative is using the add method to only add to the metadata entries and not delete them.
- Parameters:
key (
str) – Key of the new entry to add to the item.value (
str) – Value of the new entry to add to the item.units (
Optional[str]) – The units of the new entry.
- Raises:
PermissionError: – If the user does not have sufficient permissions to set the metadata.
Examples
>>> meta.set("Author", "Ben") >>> meta.set("mass", "10", "kg")
- to_dict(keys=None)
Convert iRODS metadata (AVUs) and system information to a python dictionary.
- {
“name”: item.name, “irods_id”: item.id, #iCAT database ID
“checksum”: item.checksum if the item is a data object “metadata”: [(m.name, m.value, m.units)]
}
- Parameters:
keys (
Optional[list]) – List of Attribute names which should be exported to “metadata”. By default all will be exported.- Return type:
dict- Returns:
Dictionary containing the metadata.
ibridges.path module
A class to handle iRODS paths.
- class ibridges.path.CachedIrodsPath(session, size, is_dataobj, checksum, *args)
Bases:
IrodsPathCached version of the IrodsPath.
This version should generally not be used by users, but is used for performance reasons. It will cache the size checksum and whether it is a data object. This can be invalidated when other ibridges operations are used.
- property checksum: str
See IrodsPath.
- collection_exists()
See IrodsPath.
- Return type:
bool
- dataobject_exists()
See IrodsPath.
- Return type:
bool
- property size: int
See IrodsPath.
- class ibridges.path.IrodsPath(session, *args)
Bases:
objectA class analogous to the pathlib.Path for accessing iRods data.
The IrodsPath can be used in much the same way as a Path from the pathlib library. Not all methods and attributes are implemented, and some methods/attributes behave subtly different from the pathlib implementation. They mostly do with the expansion of the home directory. With the IrodsPath, the ‘~’ is used to denote the irods_home directory set in the Session object. So, for example the name of an irods path is always the name of the collection/subcollection, which is different from the pathlib behavior in some cases.
- absolute()
Return the absolute path.
This method does the expansion of the ‘~’ and ‘.’ symbols.
- Return type:
- Returns:
The absolute IrodsPath, without any ‘~’ or ‘.’.
Examples
>>> IrodsPath(session, "~").absolute() IrodsPath(/, zone, user)
- property checksum: str
Checksum of the data object.
If not calculated yet, it will be computed on the server.
- Return type:
The checksum of the data object.
- Raises:
ValueError – When the path does not point to a data object.
Examples
>>> IrodsPath(session, "~/some_dataobj.txt").checksum 'sha2:XGiECYZOtUfP9lnCGyZaBBkBGLaJJw1p6eoc0GxLeKU='
- property collection: iRODSCollection
Instantiate an iRODS collection.
- Raises:
ValueError: – If the path points to a dataobject and not a collection.
CollectionDoesNotExist: – If the path does not point to a dataobject or a collection.
- Returns:
Instance of the collection with path.
- Return type:
iRODSCollection
Examples
>>> IrodsPath(session, "~/some_collection").collection <iRODSCollection 21260050 b'some_collection'>
- collection_exists()
Check if the path points to an iRODS collection.
- Return type:
bool
Examples
>>> IrodsPath(session, "~/does_not_exist").collection_exists() False >>> IrodsPath(session, "~/some_dataobj").collection_exists() False >>> IrodsPath(session, "~/some_collection").collection_exists() True
- static create_collection(session, coll_path)
Create a collection and all parent collections that do not exist yet.
- Parameters:
session – Session for which the collection is created.
coll_path (
Union[IrodsPath,str]) – Irods path to the collection to be created.
- Raises:
PermissionError: – If the collection cannot be created due to insufficient permissions.
- Returns:
The newly created collection.
- Return type:
collection
Examples
>>> IrodsPath.create_collection(session, "/zone/home/user/some_collection") >>> IrodsPath.create_collection(session, IrodsPath(session, "~/some_collection"))
- property dataobject: iRODSDataObject
Instantiate an iRODS data object.
- Raises:
ValueError: – If the path is pointing to a collection and not a data object.
- Returns:
Instance of the data object with path.
- Return type:
iRODSDataObject
Examples
>>> IrodsPath(session, "~/some_dataobj.txt").dataobject <iRODSDataObject 24490075 some_dataobj.txt>
- dataobject_exists()
Check if the path points to an iRODS data object.
- Return type:
bool
Examples
>>> IrodsPath(session, "~/does_not_exist").dataobject_exists() False >>> IrodsPath(session, "~/some_collection").dataobject_exists() False >>> IrodsPath(session, "~/some_dataobj").dataobject_exists() True
- exists()
Check if the path already exists on the iRODS server.
- Return type:
bool
Examples
>>> IrodsPath(session, "~/does_not_exist").exists() False >>> IrodsPath(session, "~/some_collection").exists() True >>> IrodsPath(session, "~/some_dataobj").exists() True
- joinpath(*args)
Concatenate another path to this one.
- Return type:
- Returns:
The concatenated path.
Examples
>>> IrodsPath(session, "~").joinpath("x", "y") IrodsPath(~, x, y)
- property name: str
Return the name of the data object or collection.
- Return type:
The name of the object/collction, similarly to pathlib.
Examples
>>> IrodsPath(session, "/zone/home/user") "user"
- property parent: IrodsPath
Return the parent directory of the current directory.
- Return type:
The parent just above the current directory
Examples
>>> IrodsPath(session, "/zone/home/user").parent IrodsPath("/", "zone", "home") >>> IrodsPath(session, "~").parent IrodsPath("/", "zone", "home")
- relative_to(other)
Calculate the relative path compared to our path.
Can only calculate the relateive path compared to another irods path.
>>> IrodsPath(session, "~/col/dataobj.txt").relative_to(IrodsPath(session, "~")) PurePosixPath(col, dataobj.txt) :rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~pathlib.PurePosixPath\``
>>> IrodsPath(session, "~/col/dataobj.txt").relative_to(IrodsPath(session, "~/col")) PurePosixPath(dataobj.txt)
- remove()
Remove the data behind an iRODS path.
- Raises:
PermissionError: – If the user has insufficient permission to remove the data.
Examples
>>> IrodsPath(session, "/home/zone/user/some_collection").remove()
- rename(new_name)
Change the name or the path of a data object or collection.
New collections on the path will be created.
- Parameters:
new_name (str or IrodsPath) – new name or a new full path
- Raises:
ValueError: – If the new path already exists, or the path is in a different zone.
PermissionError: – If the new collection cannot be created.
- Return type:
Examples
>>> IrodsPath(session, "~/some_collection").rename("~/new_collection")
- property size: int
Collect the sizes of a data object or a collection.
- Returns:
Total size [bytes] of the iRODS object or all iRODS objects in the collection.
- Return type:
int
- Raises:
ValueError: – If the path is neither a collection or data object.
Examples
>>> IrodsPath(session, "~/some_collection").size 12345 >>> IrodsPath(session, "~/some_dataobj.txt").size 623
- walk(depth=None)
Walk on a collection.
This iterates over all collections and data object for the path. If the path is pointing to a data object, it will simply yield this data object.
- Parameters:
depth (int) – The maximum depth relative to the starting collection over which is walked. For example if depth equals 1, then it will iterate only over the subcollections and data objects directly under the starting collection.
- Return type:
Iterable[IrodsPath]- Returns:
Generator that generates all data objects and subcollections in the collection.
Examples
>>> for ipath in IrodsPath(session, "~").walk(): >>> print(ipath) IrodsPath(~, x) IrodsPath(~, x, y) IrodsPath(~, x, y, z.txt) >>> for ipath in IrodsPath(session, "~").walk(depth=1): >>> print(ipath) IrodsPath(~, x)
ibridges.permissions module
permission operations.
- class ibridges.permissions.Permissions(session, item)
Bases:
objectIrods permissions operations.
- property available_permissions: dict
Get available permissions.
- set(perm, user=None, zone=None, recursive=False, admin=False)
Set permissions (ACL) for an iRODS collection or data object.
- Return type:
None
ibridges.resources module
resource operations.
- class ibridges.resources.Resources(session)
Bases:
objectIrods Resource operations.
- get_free_space(resc_name)
Determine free space in a resource hierarchy.
Storeage resources: return annotation “free_space”. Coordinating resources: return sum of all free space of the resource subtree. If “free_space” is not set, set value to 0.
- Parameters:
resc_name (str) – Name of monolithic resource or the top of a resource tree.
- Return type:
int- Returns:
int – Number of bytes free in the resource hierarchy.
The return value can have one of two possible values if not the actual
free space –
- -1 if the resource does not exists (typo or otherwise)
- 0 if no free space has been set in the whole resource tree
starting at node resc_name.
- get_resource(resc_name)
Instantiate an iRODS resource.
Prameters
- resc_namestr
Name of the iRODS resource.
- returns:
Instance of the resource with resc_name.
- rtype:
iRODSResource
- raises irods.exception.ResourceDoesNotExist::
If the resource does not exist.
- get_resource_children(resc)
Get all the children for the resource resc.
- Parameters:
resc (instance) – iRODS resource instance.
- Returns:
Instances of child resources.
- Return type:
list
- resources(update=False)
IRODS resources and their metadata.
- Parameters:
update (
bool) – Fetch information from iRODS server and overwrite _resources- Return type:
dict- Returns:
dict – Name, parent, status, context, and free_space of all resources.
NOTE (free_space of a resource is the free_space annotated, if) – so annotated, otherwise it is the sum of the free_space of all its children.
- property root_resources: list[tuple]
Filter resources for all root resources.
Data can only be written to root resources. Return their names, their status and their free space.
- Return type:
List [(resource_name, status, free_space, context)]
ibridges.rules module
Rule operations.
- ibridges.rules.execute_rule(session, rule_file, params, output='ruleExecOut', instance_name='irods_rule_engine_plugin-irods_rule_language-instance', **kwargs)
Execute an iRODS rule.
params format example: >>> # Notice extra quotes for string literals >>> params = { >>> ‘*obj’: ‘”/zone/home/user”’, >>> ‘*name’: ‘“attr_name”’, >>> ‘*value’: ‘“attr_value”’ >>> }
- Parameters:
session (ibridges.session) – The irods session
rule_file (str) – Name of the iRODS rule file, or a file-like object representing it.
params (dict) – Rule input variable(s).
output (str) – Rule output variable(s).
instance_name (str) – Changes between irods rule language and python rules.
kwargs (dict) – optional irods rule parameters. For more information: https://github.com/irods/python-irodsclient
- Returns:
(stdout, stderr)
- Return type:
tuple
ibridges.search module
Data query.
- ibridges.search.search_data(session, path=None, checksum=None, key_vals=None)
Retrieve all collections and data objects.
(the absolute collection path, data object or collection name) to the given user-defined and system metadata. By Default all accessible collections and data objects will be returned. Wildcard: %
- Parameters:
session (
Session) – Session to search with.path (str) – (Partial) path or IrodsPath
checksum (str) – (Partial) checksum
key_vals (dict) – Attribute name mapping to values.
- Raises:
ValueError: – If no search criterium is supplied.
- Returns:
list – List of dictionaries with keys: COLL_NAME (absolute path of the collection), DATA_NAME (name of the data object), D_DATA_CHECKSUM (checksum of the data object) The latter two keys are only present of the found item is a data object.
- Return type:
[dict]
ibridges.session module
session operations.
- exception ibridges.session.LoginError
Bases:
AttributeErrorError indicating a failure to log into the iRODS server due to the configuration.
- exception ibridges.session.PasswordError
Bases:
ValueErrorError indicating failure to log into the iRODS server due to wrong or outdated password.
- class ibridges.session.Session(irods_env, password=None, irods_home=None)
Bases:
objectIrods session authentication.
- authenticate_using_auth_file()
Authenticate with an authentication file.
- Return type:
iRODSSession
- authenticate_using_password()
Authenticate with the iRODS server using a password.
- Return type:
iRODSSession
- close()
Disconnect the irods session.
This closes the connection, and makes the session available for reconnection with connect.
- Return type:
None
- connect()
Establish an iRODS session.
- Return type:
iRODSSession
- property default_resc: str
Default resource name from iRODS environment.
- Returns:
Resource name.
- Return type:
str
- get_user_info()
Query for user type and groups.
- Return type:
tuple[list,list]- Returns:
list – iRODS user type names
list – iRODS group names
- has_valid_irods_session()
Check if the iRODS session is valid.
- Returns:
Is the session valid?
- Return type:
bool
- property home: str
Current working directory for irods.
In the iRODS community this is known as ‘irods_home’, in file system terms it would be the current working directory.
- Return type:
The current working directory in the current session.
Examples
>>> session.home /zone/home/user
- classmethod network_check(hostname, port)
Check connectivity to an iRODS server.
- Parameters:
hostname (str) – FQDN/IP of an iRODS server.
port (int) – Port to which to connect to the server
- Returns:
Connection to hostname possible.
- Return type:
bool
- property server_version: tuple
Retrieve version of the iRODS server.
- Returns:
Server version: (major, minor, patch).
- Return type:
tuple
- write_pam_password()
Store the password in the iRODS authentication file in obfuscated form.
ibridges.tickets module
Ticket operations.
- class ibridges.tickets.TicketData(name, type, path, expiration_date)
Bases:
tuple- expiration_date
Alias for field number 3
- name
Alias for field number 0
- path
Alias for field number 2
- type
Alias for field number 1
- class ibridges.tickets.Tickets(session)
Bases:
objectIrods Ticket operations.
- property all_ticket_strings: list[str]
Get the names of all tickets.
- clear()
Delete all tickets.
- create_ticket(obj_path, ticket_type='read', expiry_date=None)
Create an iRODS ticket.
This allows read access to the object referenced by obj_path.
- Parameters:
obj_path (
str) – Collection or data object path to create a ticket for.ticket_type (
str) – read or write, default readoptional – read or write, default read
expiry_date (
Union[str,datetime,date,None]) – Expiration date as a datetime, date or string in the form strftime(‘%Y-%m-%d.%H:%M:%S’).optional – Expiration date as a datetime, date or string in the form strftime(‘%Y-%m-%d.%H:%M:%S’).
- Raises:
TypeError: – If the expiry_date has the wrong type.
ValueError: – If the expiration date cannot be set for whatever reason.
- Returns:
Name of ticket and if expiration string successfully set: (str, bool)
- Return type:
tuple
- delete_ticket(ticket, check=False)
Delete irods ticket.
- Parameters:
ticket (
Union[str,Ticket]) – Ticket or ticket string identifier to be deleted.check (
bool) – Whether to check whether the ticket actually exists.
- Raises:
KeyError: – If check == True and the ticket does not exist.
- get_ticket(ticket_str)
Obtain a ticket using its string identifier.
- Parameters:
ticket_str (
str) – Unique string identifier with which the ticket can be retrieved.- Raises:
KeyError: – If the ticket cannot be found.
- Return type:
Ticket- Returns:
Ticket with the correct identifier.
- update_tickets()
Retrieve all tickets and their metadata belonging to the user.
- Parameters:
update (bool) – Refresh information from server.
- Returns:
[(ticket string, ticket type, irods obj/coll path, expiry data in epoche)]
- Return type:
list