aiida_cusp.utils.single_archive_data module
Extension to AiiDA’s SinglefileData storing the given file as gzip-compressed archive instead of simply storing the file as-is
- class aiida_cusp.utils.single_archive_data.SingleArchiveData(file, filename=None, **kwargs)
Bases:
SinglefileData
Data class used to store the contents of a file as gzip compressed archive in its repository
- ARCHIVE_SUFFIX = '.gz'
- property filepath
Return the path of the object in the repository.
Basically replicates the procedure in the internal open method without the final call to the open()
- get_compressed_file_contents(filepath)
Load the file and return a gzip compressed version of the contents
- Parameters:
filepath (pathlib.Path) – path to the file whose contents will be loaded and compressed using gzip
- Returns:
a tuple containing the compressed file contents and the file’s name with ‘.gz’ suffix appended
- Return type:
- get_content(decompress=True)
Load the node and return either the archive (i.e. compressed) or the file (i.e. the decompressed) contents stored in the node.
- Parameters:
decompress (bool) – Indicate wether comressed or uncompressed contents are returned
- set_file(file, filename=None)
Compress given file and store it to the node’s repository.
This method differs from the original SinglefileData.set_file() method in that it only accepts a filepath. The additional filename argument is only here to make AiiDA happy and is ignored since we only allow file path inputs from which the filename is deduced.
- Parameters:
file (pathlib.Path) – path to the file whose contents will be compressed and stored to the repository
- Raises:
ValueError – if the given path does not point to a file
- write_file(filepath, decompress=True)
Write the node’s contents to a file
- Params filepath:
path to the output file to which the stored contents will be written
- Params decompress:
write the decompressed or the archive contents to the file