This project uses semantic versioning. This change log uses principles from keep a changelog.
- Fixed defect where logging was done in the root logger, rather than in the logger of the dtool_irods module. Issue: https://github.com/jic-dtool/dtool-irods/issues
Added support for tags.
- Added
dtool_irods.storagebroker.IrodsStorageBroker.delete_key()
method - Added
dtool_irods.storagebroker.IrodsStorageBroker.get_tag_key()
method - Added
dtool_irods.storagebroker.IrodsStorageBroker.list_tags()
method
- Fixed defect where old dataset that predated the concept of annotations failed to copy from iRODS because it expected an annotations collection to exist in iRODS
- Fixed defect introduced during code refactoring in 0.9.0 that resulted in iRODS command being able to fail silently when they should have been complaining loudly
- Added support for dataset annotations
- Improved way in which iRODS authentication timeout messages are reported back to end users
- Added optimisation to improve speed when copying data from iRODS
- Cache environment variable changed from DTOOL_IRODS_CACHE_DIRECTORY to DTOOL_CACHE_DIRECTORY
- Default cache directory changed from
~/.cache/dtool/irods
to~/.cache/dtool
- Fixed defect arising when readme contained unicode characters
- Fixed issue with broken temporary files in the cache preventing fetching of an item
- Add writing of admin_metadata as content of admin_metadata_key
- Added
storage_broker_version
to structure parameters - Added inheritance from
dtoolcore.storagebroker.BaseStorageClass
- Overrode
get_text
method onBaseStorageBroker
class - Overrode
put_text
method onBaseStorageBroker
class - Overrode
get_admin_metadata_key
method onBaseStorageBroker
class - Overrode
get_readme_key
method onBaseStorageBroker
class - Overrode
get_manifest_key
method onBaseStorageBroker
class - Overrode
get_overlay_key
method onBaseStorageBroker
class - Overrode
get_structure_key
method onBaseStorageBroker
class - Overrode
get_dtool_readme_key
method onBaseStorageBroker
class - Overrode
get_size_in_bytes
method onBaseStorageBroker
class - Overrode
get_utc_timestamp
method onBaseStorageBroker
class - Overrode
get_hash
method onBaseStorageBroker
class
- Made dtool-irods Python 3 compatible
- Made download to DTOOL_IRODS_CACHE_DIRECTORY more robust
- Fixed issue arising from a file being put into iRODS and the connection breaking before the appropriate metadata could be set on the file in iRODS. See also: #7
- Writing of
.dtool/structure.json
file to the IrodsStorageBroker; a file for describing the structure of the dtool dataset in a computer readable format - Writing of
.dtool/README.txt
file to the IrodsStorageBroker; a file for describing the structure of the dtool dataset in a human readable format
- Make use of version 3 of the dtoolcore API. Specifically making use of the
new
base_uri
argument that replacesprefix
in thelist_dataset_uri
andgenerate_uri
class methods.
- Fixed
IrodsStorageBroker.generate_uri
class method - Made
.dtool/manifest.json
content created by IrodsStorageBroker human readable by adding new lines and indentation to the JSON formatting. - Added rule to catch
CAT_INVALID_USER
string for giving a more informative error message when iRODS authentication times out
- Improved speed of freezing a dataset in iRODS by making use of caches to reduce the number of calls made to iRODS during this process
- More informative error message when iRODS has not been configured
- More informative error message when iRODS authentication times out
- Stopped client hanging when iRODS authentication has timed out
- storagebroker's
put_item
method now returns relpath - Made the
IrodsStorageBroker.create_structure
method more robust by checking if the parent collection exists
- Fixed defect in iRODS storage broker where files with white space resulted in broken identifiers
- Fix defect where
IrodsStorageBroker.put_item
raised SystemError when trying to overwrite an existing file
- Ensure
dtool verify
will work as expected by forcing iRODS to re-calculate the file hash when asking for it, which ensures that a cached copy is not used.
dtool_irods.storagebroker.IrodsStorageBroker.list_dataset_uris
class method
dtool_irods.storagebroker.IrodsStorageBroker.list_overlay_names
Initial release of an iRODS storage broker.