Simplify and cleanup all command functions.

This commit is contained in:
Bastian Kleineidam 2010-03-08 17:32:18 +01:00
parent 3a2c854836
commit c329208910
23 changed files with 62 additions and 161 deletions

View File

@ -17,31 +17,25 @@
def extract_ar (archive, encoding, cmd, **kwargs): def extract_ar (archive, encoding, cmd, **kwargs):
"""Extract a AR archive.""" """Extract a AR archive."""
cmdlist = [cmd]
opts = 'x' opts = 'x'
if kwargs['verbose']: if kwargs['verbose']:
opts += 'v' opts += 'v'
cmdlist.extend([opts, archive, kwargs['outdir']]) return [cmd, opts, archive, kwargs['outdir']]
return cmdlist
def list_ar (archive, encoding, cmd, **kwargs): def list_ar (archive, encoding, cmd, **kwargs):
"""List a AR archive.""" """List a AR archive."""
cmdlist = [cmd]
opts = 't' opts = 't'
if kwargs['verbose']: if kwargs['verbose']:
opts += 'v' opts += 'v'
cmdlist.extend([opts, archive]) return [cmd, opts, archive]
return cmdlist
test_ar = list_ar test_ar = list_ar
def create_ar (archive, encoding, cmd, *args, **kwargs): def create_ar (archive, encoding, cmd, *args, **kwargs):
"""Create a AR archive.""" """Create a AR archive."""
cmdlist = [cmd]
opts = 'rc' opts = 'rc'
if kwargs['verbose']: if kwargs['verbose']:
opts += 'v' opts += 'v'
cmdlist.extend([opts, archive]) cmdlist = [cmd, opts, archive]
cmdlist.extend(args) cmdlist.extend(args)
return cmdlist return cmdlist

View File

@ -17,10 +17,7 @@
def extract_arj (archive, encoding, cmd, **kwargs): def extract_arj (archive, encoding, cmd, **kwargs):
"""Extract a ARJ archive.""" """Extract a ARJ archive."""
cmdlist = [cmd] cmdlist = [cmd, 'x', '-r', '-y']
cmdlist.append('x')
cmdlist.append('-r')
cmdlist.append('-y')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-i-') cmdlist.append('-i-')
cmdlist.extend([archive, kwargs['outdir']]) cmdlist.extend([archive, kwargs['outdir']])
@ -35,30 +32,22 @@ def list_arj (archive, encoding, cmd, **kwargs):
else: else:
cmdlist.append('l') cmdlist.append('l')
cmdlist.append('-i-') cmdlist.append('-i-')
cmdlist.append('-r') cmdlist.extend(['-r', '-y', archive])
cmdlist.append('-y')
cmdlist.extend([archive])
return cmdlist return cmdlist
def test_arj (archive, encoding, cmd, **kwargs): def test_arj (archive, encoding, cmd, **kwargs):
"""Test a ARJ archive.""" """Test a ARJ archive."""
cmdlist = [cmd] cmdlist = [cmd, 't']
cmdlist.append('t')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-i-') cmdlist.append('-i-')
cmdlist.append('-r') cmdlist.extend(['-r', '-y', archive])
cmdlist.append('-y')
cmdlist.extend([archive])
return cmdlist return cmdlist
def create_arj (archive, encoding, cmd, *args, **kwargs): def create_arj (archive, encoding, cmd, *args, **kwargs):
"""Create a ARJ archive.""" """Create a ARJ archive."""
cmdlist = [cmd] cmdlist = [cmd, 'a', '-r', '-y']
cmdlist.append('a')
cmdlist.append('-r')
cmdlist.append('-y')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-i-') cmdlist.append('-i-')
cmdlist.append(archive) cmdlist.append(archive)

View File

@ -24,8 +24,7 @@ def extract_bzip2 (archive, encoding, cmd, **kwargs):
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-c', '-d']) cmdlist.extend(['-c', '-d'])
outfile = util.get_single_outfile(kwargs['outdir'], archive) outfile = util.get_single_outfile(kwargs['outdir'], archive)
cmdlist.append('--') cmdlist.extend(['--', archive, '>', outfile])
cmdlist.extend([archive, '>', outfile])
# note that for shell calls the command must be a string # note that for shell calls the command must be a string
cmd = " ".join([util.shell_quote(x) for x in cmdlist]) cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True}) return (cmd, {'shell': True})
@ -36,8 +35,7 @@ def test_bzip2 (archive, encoding, cmd, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-t', '--']) cmdlist.extend(['-t', '--', archive])
cmdlist.extend([archive])
return cmdlist return cmdlist
@ -46,8 +44,7 @@ def create_bzip2 (archive, encoding, cmd, *args, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-c', '-z']) cmdlist.extend(['-c', '-z', '--'])
cmdlist.append('--')
cmdlist.extend(args) cmdlist.extend(args)
cmdlist.extend(['>', archive]) cmdlist.extend(['>', archive])
# note that for shell calls the command must be a string # note that for shell calls the command must be a string

View File

@ -17,8 +17,7 @@
def extract_cab (archive, encoding, cmd, **kwargs): def extract_cab (archive, encoding, cmd, **kwargs):
"""Extract a CAB archive.""" """Extract a CAB archive."""
cmdlist = [cmd] cmdlist = [cmd, '-d', kwargs['outdir']]
cmdlist.extend(['-d', kwargs['outdir']])
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.append(archive) cmdlist.append(archive)
@ -26,16 +25,12 @@ def extract_cab (archive, encoding, cmd, **kwargs):
def list_cab (archive, encoding, cmd, **kwargs): def list_cab (archive, encoding, cmd, **kwargs):
"""List a CAB archive.""" """List a CAB archive."""
cmdlist = [cmd] cmdlist = [cmd, '-l']
cmdlist.append('-l')
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend([archive]) cmdlist.append(archive)
return cmdlist return cmdlist
def test_cab (archive, encoding, cmd, **kwargs): def test_cab (archive, encoding, cmd, **kwargs):
"""Test a CAB archive.""" """Test a CAB archive."""
cmdlist = [cmd] return [cmd, '-t', archive]
cmdlist.append('-t')
cmdlist.extend([archive])
return cmdlist

View File

@ -18,13 +18,9 @@ from patoolib import util
def extract_cpio (archive, encoding, cmd, **kwargs): def extract_cpio (archive, encoding, cmd, **kwargs):
"""Extract a CPIO archive.""" """Extract a CPIO archive."""
cmdlist = [cmd] cmdlist = [cmd, '--extract', '--make-directories',
cmdlist.append('--extract') '--preserve-modification-time', '--no-absolute-filenames',
cmdlist.append('--make-directories') '--force-local', '--nonmatching', '"*\.\.*"']
cmdlist.append('--preserve-modification-time')
cmdlist.append('--no-absolute-filenames')
cmdlist.append('--force-local')
cmdlist.extend(['--nonmatching', '"*\.\.*"'])
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['<', archive]) cmdlist.extend(['<', archive])
@ -34,8 +30,7 @@ def extract_cpio (archive, encoding, cmd, **kwargs):
def list_cpio (archive, encoding, cmd, **kwargs): def list_cpio (archive, encoding, cmd, **kwargs):
"""List a CPIO archive.""" """List a CPIO archive."""
cmdlist = [cmd] cmdlist = [cmd, '-t']
cmdlist.append('-t')
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-F', archive]) cmdlist.extend(['-F', archive])

View File

@ -22,17 +22,11 @@ def extract_deb (archive, encoding, cmd, **kwargs):
cmdlist.append('--vextract') cmdlist.append('--vextract')
else: else:
cmdlist.append('--extract') cmdlist.append('--extract')
cmdlist.append('--') cmdlist.extend(['--', archive, kwargs['outdir']])
cmdlist.extend([archive, kwargs['outdir']])
return cmdlist return cmdlist
def list_deb (archive, encoding, cmd, **kwargs): def list_deb (archive, encoding, cmd, **kwargs):
"""List a DEB archive.""" """List a DEB archive."""
cmdlist = [cmd] return [cmd, '--contents', '--', archive]
cmdlist.append('--contents')
cmdlist.append('--')
cmdlist.extend([archive])
return cmdlist
test_deb = list_deb test_deb = list_deb

View File

@ -21,7 +21,6 @@ def list_bzip2 (archive, encoding, cmd, **kwargs):
"""List a BZIP2 archive.""" """List a BZIP2 archive."""
return stripext(cmd, archive) return stripext(cmd, archive)
def list_compress (archive, encoding, cmd, **kwargs): def list_compress (archive, encoding, cmd, **kwargs):
"""List a compress archive.""" """List a compress archive."""
return stripext(cmd, archive) return stripext(cmd, archive)

View File

@ -22,10 +22,8 @@ def extract_gzip (archive, encoding, cmd, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-c', '-d'])
cmdlist.append('--')
outfile = util.get_single_outfile(kwargs['outdir'], archive) outfile = util.get_single_outfile(kwargs['outdir'], archive)
cmdlist.extend([archive, '>', outfile]) cmdlist.extend(['-c', '-d', '--', archive, '>', outfile])
# note that for shell calls the command must be a string # note that for shell calls the command must be a string
cmd = " ".join([util.shell_quote(x) for x in cmdlist]) cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True}) return (cmd, {'shell': True})
@ -37,20 +35,15 @@ def list_gzip (archive, encoding, cmd, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.append('-l') cmdlist.extend(['-l', '--', archive])
cmdlist.append('--')
cmdlist.append(archive)
return cmdlist return cmdlist
def test_gzip (archive, encoding, cmd, **kwargs): def test_gzip (archive, encoding, cmd, **kwargs):
"""Test a GZIP archive.""" """Test a GZIP archive."""
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.append('-t') cmdlist.extend(['-t', '--', archive])
cmdlist.append('--')
cmdlist.append(archive)
return cmdlist return cmdlist
test_compress = test_gzip test_compress = test_gzip

View File

@ -17,13 +17,11 @@
def extract_lzh (archive, encoding, cmd, **kwargs): def extract_lzh (archive, encoding, cmd, **kwargs):
"""Extract a LZH archive.""" """Extract a LZH archive."""
cmdlist = [cmd]
opts = 'x' opts = 'x'
if kwargs['verbose']: if kwargs['verbose']:
opts += 'v' opts += 'v'
opts += "w=%s" % kwargs['outdir'] opts += "w=%s" % kwargs['outdir']
cmdlist.extend([opts, archive]) return [cmd, opts, archive]
return cmdlist
def list_lzh (archive, encoding, cmd, **kwargs): def list_lzh (archive, encoding, cmd, **kwargs):
"""List a LZH archive.""" """List a LZH archive."""
@ -37,20 +35,16 @@ def list_lzh (archive, encoding, cmd, **kwargs):
def test_lzh (archive, encoding, cmd, **kwargs): def test_lzh (archive, encoding, cmd, **kwargs):
"""Test a LZH archive.""" """Test a LZH archive."""
cmdlist = [cmd]
opts = 't' opts = 't'
if kwargs['verbose']: if kwargs['verbose']:
opts += 'v' opts += 'v'
cmdlist.extend([opts, archive]) return [cmd, opts, archive]
return cmdlist
def create_lzh (archive, encoding, cmd, *args, **kwargs): def create_lzh (archive, encoding, cmd, *args, **kwargs):
"""Create a LZH archive.""" """Create a LZH archive."""
cmdlist = [cmd]
opts = 'a' opts = 'a'
if kwargs['verbose']: if kwargs['verbose']:
opts += 'v' opts += 'v'
cmdlist.extend([opts, archive]) cmdlist = [cmd, opts, archive]
cmdlist.extend(args) cmdlist.extend(args)
return cmdlist return cmdlist

View File

@ -22,26 +22,20 @@ def extract_lzip (archive, encoding, cmd, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-c', '-d'])
cmdlist.append('--')
outfile = util.get_single_outfile(kwargs['outdir'], archive) outfile = util.get_single_outfile(kwargs['outdir'], archive)
cmdlist.extend([archive, '>', outfile]) cmdlist.extend(['-c', '-d', '--', archive, '>', outfile])
# note that for shell calls the command must be a string # note that for shell calls the command must be a string
cmd = " ".join([util.shell_quote(x) for x in cmdlist]) cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True}) return (cmd, {'shell': True})
def test_lzip (archive, encoding, cmd, **kwargs): def test_lzip (archive, encoding, cmd, **kwargs):
"""Test a LZIP archive.""" """Test a LZIP archive."""
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.append('-t') cmdlist.extend(['-t', '--', archive])
cmdlist.append('--')
cmdlist.append(archive)
return cmdlist return cmdlist
def create_lzip (archive, encoding, cmd, *args, **kwargs): def create_lzip (archive, encoding, cmd, *args, **kwargs):
"""Create a LZIP archive.""" """Create a LZIP archive."""
cmdlist = [cmd] cmdlist = [cmd]

View File

@ -22,10 +22,8 @@ def extract_lzma (archive, encoding, cmd, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-c', '-d'])
cmdlist.append('--')
outfile = util.get_single_outfile(kwargs['outdir'], archive) outfile = util.get_single_outfile(kwargs['outdir'], archive)
cmdlist.extend([archive, '>', outfile]) cmdlist.extend(['-c', '-d', '--', archive, '>', outfile])
# note that for shell calls the command must be a string # note that for shell calls the command must be a string
cmd = " ".join([util.shell_quote(x) for x in cmdlist]) cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True}) return (cmd, {'shell': True})
@ -35,9 +33,7 @@ def test_lzma (archive, encoding, cmd, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.append('-t') cmdlist.extend(['-t', '--', archive])
cmdlist.append('--')
cmdlist.append(archive)
return cmdlist return cmdlist
def create_lzma (archive, encoding, cmd, *args, **kwargs): def create_lzma (archive, encoding, cmd, *args, **kwargs):
@ -52,4 +48,3 @@ def create_lzma (archive, encoding, cmd, *args, **kwargs):
# note that for shell calls the command must be a string # note that for shell calls the command must be a string
cmd = " ".join([util.shell_quote(x) for x in cmdlist]) cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True}) return (cmd, {'shell': True})

View File

@ -19,21 +19,18 @@ from patoolib import util
def extract_lzop (archive, encoding, cmd, **kwargs): def extract_lzop (archive, encoding, cmd, **kwargs):
"""Extract a LZOP archive.""" """Extract a LZOP archive."""
cmdlist = [cmd] cmdlist = [cmd, '-c', '-d']
cmdlist.extend(['-c', '-d'])
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('--verbose') cmdlist.append('--verbose')
cmdlist.append('--')
outfile = util.get_single_outfile(kwargs['outdir'], archive) outfile = util.get_single_outfile(kwargs['outdir'], archive)
cmdlist.extend([archive, '>', outfile]) cmdlist.extend(['--', archive, '>', outfile])
# note that for shell calls the command must be a string # note that for shell calls the command must be a string
cmd = " ".join([util.shell_quote(x) for x in cmdlist]) cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True}) return (cmd, {'shell': True})
def list_lzop (archive, encoding, cmd, **kwargs): def list_lzop (archive, encoding, cmd, **kwargs):
"""List a LZOP archive.""" """List a LZOP archive."""
cmdlist = [cmd] cmdlist = [cmd, '--list']
cmdlist.append('--list')
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('--verbose') cmdlist.append('--verbose')
cmdlist.extend(['--', archive]) cmdlist.extend(['--', archive])
@ -41,8 +38,7 @@ def list_lzop (archive, encoding, cmd, **kwargs):
def test_lzop (archive, encoding, cmd, **kwargs): def test_lzop (archive, encoding, cmd, **kwargs):
"""Test a LZOP archive.""" """Test a LZOP archive."""
cmdlist = [cmd] cmdlist = [cmd, '--test']
cmdlist.append('--test')
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('--verbose') cmdlist.append('--verbose')
cmdlist.extend(['--', archive]) cmdlist.extend(['--', archive])
@ -53,7 +49,6 @@ def create_lzop (archive, encoding, cmd, *args, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-o', archive]) cmdlist.extend(['-o', archive, '--'])
cmdlist.append('--')
cmdlist.extend(args) cmdlist.extend(args)
return cmdlist return cmdlist

View File

@ -17,13 +17,10 @@
def extract_7z (archive, encoding, cmd, **kwargs): def extract_7z (archive, encoding, cmd, **kwargs):
"""Extract a 7z archive.""" """Extract a 7z archive."""
cmdlist = [cmd] cmdlist = [cmd, 'x']
cmdlist.append('x')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-bd') cmdlist.append('-bd')
cmdlist.extend(['-o%s' % kwargs['outdir']]) cmdlist.extend(['-o%s' % kwargs['outdir'], '--', archive])
cmdlist.append('--')
cmdlist.append(archive)
return cmdlist return cmdlist
extract_bzip2 = \ extract_bzip2 = \
@ -40,8 +37,7 @@ extract_bzip2 = \
def list_7z (archive, encoding, cmd, **kwargs): def list_7z (archive, encoding, cmd, **kwargs):
"""List a 7z archive.""" """List a 7z archive."""
cmdlist = [cmd] cmdlist = [cmd, 'l']
cmdlist.append('l')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-bd') cmdlist.append('-bd')
cmdlist.append('--') cmdlist.append('--')
@ -63,8 +59,7 @@ list_bzip2 = \
def test_7z (archive, encoding, cmd, **kwargs): def test_7z (archive, encoding, cmd, **kwargs):
"""Test a 7z archive.""" """Test a 7z archive."""
cmdlist = [cmd] cmdlist = [cmd, 't']
cmdlist.append('t')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-bd') cmdlist.append('-bd')
cmdlist.append('--') cmdlist.append('--')
@ -86,8 +81,7 @@ test_bzip2 = \
def create_7z (archive, encoding, cmd, *args, **kwargs): def create_7z (archive, encoding, cmd, *args, **kwargs):
"""Create a 7z archive.""" """Create a 7z archive."""
cmdlist = [cmd] cmdlist = [cmd, 'a']
cmdlist.append('a')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-bd') cmdlist.append('-bd')
cmdlist.append('--') cmdlist.append('--')

View File

@ -17,8 +17,7 @@
def extract_rar (archive, encoding, cmd, **kwargs): def extract_rar (archive, encoding, cmd, **kwargs):
"""Extract a RAR archive.""" """Extract a RAR archive."""
cmdlist = [cmd] cmdlist = [cmd, 'x']
cmdlist.append('x')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-c-') cmdlist.append('-c-')
cmdlist.extend(['-r', '--', archive, kwargs['outdir']]) cmdlist.extend(['-r', '--', archive, kwargs['outdir']])
@ -37,8 +36,7 @@ def list_rar (archive, encoding, cmd, **kwargs):
def test_rar (archive, encoding, cmd, **kwargs): def test_rar (archive, encoding, cmd, **kwargs):
"""Test a RAR archive.""" """Test a RAR archive."""
cmdlist = [cmd] cmdlist = [cmd, 't']
cmdlist.append('t')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-c-') cmdlist.append('-c-')
cmdlist.extend(['--', archive]) cmdlist.extend(['--', archive])
@ -46,11 +44,9 @@ def test_rar (archive, encoding, cmd, **kwargs):
def create_rar (archive, encoding, cmd, *args, **kwargs): def create_rar (archive, encoding, cmd, *args, **kwargs):
"""Create a RAR archive.""" """Create a RAR archive."""
cmdlist = [cmd] cmdlist = [cmd, 'a']
cmdlist.append('a')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-c-') cmdlist.append('-c-')
cmdlist.extend(['-r', '--', archive]) cmdlist.extend(['-r', '--', archive])
cmdlist.extend(args) cmdlist.extend(args)
return cmdlist return cmdlist

View File

@ -17,8 +17,7 @@
def list_rpm (archive, encoding, cmd, **kwargs): def list_rpm (archive, encoding, cmd, **kwargs):
"""List a RPM archive.""" """List a RPM archive."""
cmdlist = [cmd] cmdlist = [cmd, '-q', '-l']
cmdlist.extend(['-q', '-l'])
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-p', '--', archive]) cmdlist.extend(['-p', '--', archive])
@ -26,8 +25,7 @@ def list_rpm (archive, encoding, cmd, **kwargs):
def test_rpm (archive, encoding, cmd, **kwargs): def test_rpm (archive, encoding, cmd, **kwargs):
"""Test a RPM archive.""" """Test a RPM archive."""
cmdlist = [cmd] cmdlist = [cmd, 'V']
cmdlist.append('-V')
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-p', '--', archive]) cmdlist.extend(['-p', '--', archive])

View File

@ -19,15 +19,10 @@ from patoolib import util
def extract_rpm (archive, encoding, cmd, **kwargs): def extract_rpm (archive, encoding, cmd, **kwargs):
"""Extract a DEB archive.""" """Extract a DEB archive."""
cmdlist = [cmd] cmdlist = [cmd, os.path.abspath(archive), "|", 'cpio', '--extract',
cmdlist.extend([os.path.abspath(archive), "|"]) '--make-directories', '--preserve-modification-time',
cmdlist.append('cpio') '--no-absolute-filenames', '--force-local', '--nonmatching',
cmdlist.append('--extract') '"*\.\.*"']
cmdlist.append('--make-directories')
cmdlist.append('--preserve-modification-time')
cmdlist.append('--no-absolute-filenames')
cmdlist.append('--force-local')
cmdlist.extend(['--nonmatching', '"*\.\.*"'])
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmd = " ".join([util.shell_quote(x) for x in cmdlist]) cmd = " ".join([util.shell_quote(x) for x in cmdlist])

View File

@ -39,7 +39,6 @@ def create_tar (archive, encoding, cmd, *args, **kwargs):
cmdlist.extend(args) cmdlist.extend(args)
return cmdlist return cmdlist
def add_tar_opts (cmdlist, encoding, verbose): def add_tar_opts (cmdlist, encoding, verbose):
if encoding == 'lzip': if encoding == 'lzip':
# use compress-program option # use compress-program option

View File

@ -17,14 +17,12 @@
def extract_ace (archive, encoding, cmd, **kwargs): def extract_ace (archive, encoding, cmd, **kwargs):
"""Extract a ACE archive.""" """Extract a ACE archive."""
cmdlist = [cmd] cmdlist = [cmd, 'x']
cmdlist.append('x')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-c-') cmdlist.append('-c-')
cmdlist.extend([archive, kwargs['outdir']]) cmdlist.extend([archive, kwargs['outdir']])
return cmdlist return cmdlist
def list_ace (archive, encoding, cmd, **kwargs): def list_ace (archive, encoding, cmd, **kwargs):
"""List a ACE archive.""" """List a ACE archive."""
cmdlist = [cmd] cmdlist = [cmd]
@ -33,15 +31,13 @@ def list_ace (archive, encoding, cmd, **kwargs):
else: else:
cmdlist.append('l') cmdlist.append('l')
cmdlist.append('-c-') cmdlist.append('-c-')
cmdlist.extend([archive]) cmdlist.append(archive)
return cmdlist return cmdlist
def test_ace (archive, encoding, cmd, **kwargs): def test_ace (archive, encoding, cmd, **kwargs):
"""Test a ACE archive.""" """Test a ACE archive."""
cmdlist = [cmd] cmdlist = [cmd, 't']
cmdlist.append('t')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-c-') cmdlist.append('-c-')
cmdlist.extend([archive]) cmdlist.append(archive)
return cmdlist return cmdlist

View File

@ -22,9 +22,8 @@ def extract_compress (archive, encoding, cmd, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.append('-c')
outfile = util.get_single_outfile(kwargs['outdir'], archive) outfile = util.get_single_outfile(kwargs['outdir'], archive)
cmdlist.extend([archive, '>', outfile]) cmdlist.extend(['-c', archive, '>', outfile])
# note that for shell calls the command must be a string # note that for shell calls the command must be a string
cmd = " ".join([util.shell_quote(x) for x in cmdlist]) cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True}) return (cmd, {'shell': True})

View File

@ -17,8 +17,7 @@
def extract_rar (archive, encoding, cmd, **kwargs): def extract_rar (archive, encoding, cmd, **kwargs):
"""Extract a RAR archive.""" """Extract a RAR archive."""
cmdlist = [cmd] cmdlist = [cmd, 'x']
cmdlist.append('x')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-c-') cmdlist.append('-c-')
cmdlist.extend(['-r', '--', archive, kwargs['outdir']]) cmdlist.extend(['-r', '--', archive, kwargs['outdir']])
@ -37,8 +36,7 @@ def list_rar (archive, encoding, cmd, **kwargs):
def test_rar (archive, encoding, cmd, **kwargs): def test_rar (archive, encoding, cmd, **kwargs):
"""Test a RAR archive.""" """Test a RAR archive."""
cmdlist = [cmd] cmdlist = [cmd, 't']
cmdlist.append('t')
if not kwargs['verbose']: if not kwargs['verbose']:
cmdlist.append('-c-') cmdlist.append('-c-')
cmdlist.extend(['--', archive]) cmdlist.extend(['--', archive])

View File

@ -25,8 +25,7 @@ def extract_zip (archive, encoding, cmd, **kwargs):
def list_zip (archive, encoding, cmd, **kwargs): def list_zip (archive, encoding, cmd, **kwargs):
"""List a ZIP archive.""" """List a ZIP archive."""
cmdlist = [cmd] cmdlist = [cmd, '-l']
cmdlist.append('-l')
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['--', archive]) cmdlist.extend(['--', archive])
@ -34,8 +33,7 @@ def list_zip (archive, encoding, cmd, **kwargs):
def test_zip (archive, encoding, cmd, **kwargs): def test_zip (archive, encoding, cmd, **kwargs):
"""Test a ZIP archive.""" """Test a ZIP archive."""
cmdlist = [cmd] cmdlist = [cmd, '-t']
cmdlist.append('-t')
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['--', archive]) cmdlist.extend(['--', archive])

View File

@ -22,10 +22,8 @@ def extract_xz (archive, encoding, cmd, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.extend(['-c', '-d'])
cmdlist.append('--')
outfile = util.get_single_outfile(kwargs['outdir'], archive) outfile = util.get_single_outfile(kwargs['outdir'], archive)
cmdlist.extend([archive, '>', outfile]) cmdlist.extend(['-c', '-d', '--', archive, '>', outfile])
# note that for shell calls the command must be a string # note that for shell calls the command must be a string
cmd = " ".join([util.shell_quote(x) for x in cmdlist]) cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True}) return (cmd, {'shell': True})
@ -35,9 +33,7 @@ def test_xz (archive, encoding, cmd, **kwargs):
cmdlist = [cmd] cmdlist = [cmd]
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('-v') cmdlist.append('-v')
cmdlist.append('-t') cmdlist.extend(['-t', '--', archive])
cmdlist.append('--')
cmdlist.append(archive)
return cmdlist return cmdlist
def create_xz (archive, encoding, cmd, *args, **kwargs): def create_xz (archive, encoding, cmd, *args, **kwargs):
@ -52,4 +48,3 @@ def create_xz (archive, encoding, cmd, *args, **kwargs):
# note that for shell calls the command must be a string # note that for shell calls the command must be a string
cmd = " ".join([util.shell_quote(x) for x in cmdlist]) cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True}) return (cmd, {'shell': True})

View File

@ -17,9 +17,8 @@
def create_zip (archive, encoding, cmd, *args, **kwargs): def create_zip (archive, encoding, cmd, *args, **kwargs):
"""Create a ZIP archive.""" """Create a ZIP archive."""
cmdlist = [cmd]
# XXX if archive already exists, use zip -u (update)? # XXX if archive already exists, use zip -u (update)?
cmdlist.append('-r') cmdlist = [cmd, '-r']
if kwargs['verbose']: if kwargs['verbose']:
cmdlist.append('--verbose') cmdlist.append('--verbose')
cmdlist.append(archive) cmdlist.append(archive)