Source code for bibliometa.utils.archives

# !/usr/bin/python
# -*- coding: utf-8 -*-

"""This module provides utilities to handle tar files."""

import os
import tarfile


[docs]def tar(path, name): """Put contents from `path` to tar.gz archive in `name`.""" if os.path.isfile(path): with tarfile.open(name, "w:gz") as tar_file: tar_file.add(path, arcname=os.path.basename(path)) return tar_file elif os.path.isdir(path): with tarfile.open(name, "w:gz") as tar_file: for root, dirs, files in os.walk(path): for file in files: tar_file.add(os.path.join(root, file)) return tar_file else: raise ValueError("Path is neither file nor directory!")