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:
aiida.orm.nodes.data.singlefile.SinglefileData
Data class used to store the contents of a file as gzip compressed archive in its repository
-
ARCHIVE_SUFFIX
= '.gz'¶
-
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: tuple
-
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
-