def import_to_store(self, compressed_nar):
"""Given a compressed NAR, extract it and import it into the nix store.
:param compressed_nar: The bytes of a NAR, compressed.
:type compressed_nar: ``str``
"""
# Figure out how to extract the content.
if self.compression.lower() in ("xz", "xzip"):
data = lzma.decompress(compressed_nar)
elif self.compression.lower() in ("bz2", "bzip2"):
data = bz2.decompress(compressed_nar)
else:
data = gzip.decompress(compressed_nar)
# Once extracted, convert it into a nix export object and import.
export = self.nar_to_export(data)
imported_path = export.import_to_store()
评论列表
文章目录