python-dpkg/scripts/dpkg-inspect.py

46 lines
923 B
Python
Executable File

#!/usr/bin/env python
from __future__ import print_function
import glob
import logging
import os
import sys
from pydpkg import Dpkg
logging.basicConfig()
log = logging.getLogger('dpkg_extract')
log.setLevel(logging.INFO)
PRETTY = """Filename: {0}
Size: {1}
MD5: {2}
SHA1: {3}
SHA256: {4}
Headers:
{5}"""
def indent(input_str, prefix):
return '\n'.join(
['%s%s' % (prefix, x) for x in input_str.split('\n')]
)
try:
filenames = sys.argv[1:]
except KeyError:
log.fatal('You must list at least one deb file as an argument')
sys.exit(1)
for files in filenames:
for fn in glob.glob(files):
if not os.path.isfile(fn):
log.warning('%s is not a file, skipping', fn)
log.debug('checking %s', fn)
dp = Dpkg(fn)
print(PRETTY.format(
fn, dp.filesize, dp.md5, dp.sha1, dp.sha256,
indent(str(dp), ' ')
))