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/irodsto~/.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_versionto structure parameters - Added inheritance from
dtoolcore.storagebroker.BaseStorageClass - Overrode
get_textmethod onBaseStorageBrokerclass - Overrode
put_textmethod onBaseStorageBrokerclass - Overrode
get_admin_metadata_keymethod onBaseStorageBrokerclass - Overrode
get_readme_keymethod onBaseStorageBrokerclass - Overrode
get_manifest_keymethod onBaseStorageBrokerclass - Overrode
get_overlay_keymethod onBaseStorageBrokerclass - Overrode
get_structure_keymethod onBaseStorageBrokerclass - Overrode
get_dtool_readme_keymethod onBaseStorageBrokerclass - Overrode
get_size_in_bytesmethod onBaseStorageBrokerclass - Overrode
get_utc_timestampmethod onBaseStorageBrokerclass - Overrode
get_hashmethod onBaseStorageBrokerclass
- 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.jsonfile to the IrodsStorageBroker; a file for describing the structure of the dtool dataset in a computer readable format - Writing of
.dtool/README.txtfile 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_uriargument that replacesprefixin thelist_dataset_uriandgenerate_uriclass methods.
- Fixed
IrodsStorageBroker.generate_uriclass method - Made
.dtool/manifest.jsoncontent created by IrodsStorageBroker human readable by adding new lines and indentation to the JSON formatting. - Added rule to catch
CAT_INVALID_USERstring 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_itemmethod now returns relpath - Made the
IrodsStorageBroker.create_structuremethod 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_itemraised SystemError when trying to overwrite an existing file
- Ensure
dtool verifywill 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_urisclass method
dtool_irods.storagebroker.IrodsStorageBroker.list_overlay_names
Initial release of an iRODS storage broker.