Skip to content

Instantly share code, notes, and snippets.

@vepetkov
Created February 20, 2020 12:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vepetkov/8fa8aefe9b7d2c9ce3218660bc8eb5bf to your computer and use it in GitHub Desktop.
Save vepetkov/8fa8aefe9b7d2c9ce3218660bc8eb5bf to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import argparse
import tarfile
import json
def get_tar_metadata(file_name):
tar = tarfile.open(file_name, encoding="iso8859-1")
metadata = [ { "filename": x.name, "headers": x.pax_headers } for x in tar.getmembers() ]
return metadata
if __name__ == "__main__":
parser = argparse.ArgumentParser("Extract tar filenames and metadata from the PAX headers")
parser.add_argument("-f",
"--file",
type=str,
help="tar file to read",
required=True)
args = parser.parse_args()
metadata = get_tar_metadata(args.file)
print(json.dumps(metadata, indent=2, separators=(',', ': ')))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment