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):
"""Extract a AR archive."""
cmdlist = [cmd]
opts = 'x'
if kwargs['verbose']:
opts += 'v'
cmdlist.extend([opts, archive, kwargs['outdir']])
return cmdlist
return [cmd, opts, archive, kwargs['outdir']]
def list_ar (archive, encoding, cmd, **kwargs):
"""List a AR archive."""
cmdlist = [cmd]
opts = 't'
if kwargs['verbose']:
opts += 'v'
cmdlist.extend([opts, archive])
return cmdlist
return [cmd, opts, archive]
test_ar = list_ar
def create_ar (archive, encoding, cmd, *args, **kwargs):
"""Create a AR archive."""
cmdlist = [cmd]
opts = 'rc'
if kwargs['verbose']:
opts += 'v'
cmdlist.extend([opts, archive])
cmdlist = [cmd, opts, archive]
cmdlist.extend(args)
return cmdlist

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -22,10 +22,8 @@ def extract_gzip (archive, encoding, cmd, **kwargs):
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.extend(['-c', '-d'])
cmdlist.append('--')
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
cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True})
@ -37,20 +35,15 @@ def list_gzip (archive, encoding, cmd, **kwargs):
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.append('-l')
cmdlist.append('--')
cmdlist.append(archive)
cmdlist.extend(['-l', '--', archive])
return cmdlist
def test_gzip (archive, encoding, cmd, **kwargs):
"""Test a GZIP archive."""
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.append('-t')
cmdlist.append('--')
cmdlist.append(archive)
cmdlist.extend(['-t', '--', archive])
return cmdlist
test_compress = test_gzip

View File

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

View File

@ -22,26 +22,20 @@ def extract_lzip (archive, encoding, cmd, **kwargs):
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.extend(['-c', '-d'])
cmdlist.append('--')
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
cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True})
def test_lzip (archive, encoding, cmd, **kwargs):
"""Test a LZIP archive."""
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.append('-t')
cmdlist.append('--')
cmdlist.append(archive)
cmdlist.extend(['-t', '--', archive])
return cmdlist
def create_lzip (archive, encoding, cmd, *args, **kwargs):
"""Create a LZIP archive."""
cmdlist = [cmd]

View File

@ -22,10 +22,8 @@ def extract_lzma (archive, encoding, cmd, **kwargs):
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.extend(['-c', '-d'])
cmdlist.append('--')
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
cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True})
@ -35,9 +33,7 @@ def test_lzma (archive, encoding, cmd, **kwargs):
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.append('-t')
cmdlist.append('--')
cmdlist.append(archive)
cmdlist.extend(['-t', '--', archive])
return cmdlist
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
cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True})

View File

@ -19,21 +19,18 @@ from patoolib import util
def extract_lzop (archive, encoding, cmd, **kwargs):
"""Extract a LZOP archive."""
cmdlist = [cmd]
cmdlist.extend(['-c', '-d'])
cmdlist = [cmd, '-c', '-d']
if kwargs['verbose']:
cmdlist.append('--verbose')
cmdlist.append('--')
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
cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True})
def list_lzop (archive, encoding, cmd, **kwargs):
"""List a LZOP archive."""
cmdlist = [cmd]
cmdlist.append('--list')
cmdlist = [cmd, '--list']
if kwargs['verbose']:
cmdlist.append('--verbose')
cmdlist.extend(['--', archive])
@ -41,8 +38,7 @@ def list_lzop (archive, encoding, cmd, **kwargs):
def test_lzop (archive, encoding, cmd, **kwargs):
"""Test a LZOP archive."""
cmdlist = [cmd]
cmdlist.append('--test')
cmdlist = [cmd, '--test']
if kwargs['verbose']:
cmdlist.append('--verbose')
cmdlist.extend(['--', archive])
@ -53,7 +49,6 @@ def create_lzop (archive, encoding, cmd, *args, **kwargs):
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.extend(['-o', archive])
cmdlist.append('--')
cmdlist.extend(['-o', archive, '--'])
cmdlist.extend(args)
return cmdlist

View File

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

View File

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

View File

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

View File

@ -19,15 +19,10 @@ from patoolib import util
def extract_rpm (archive, encoding, cmd, **kwargs):
"""Extract a DEB archive."""
cmdlist = [cmd]
cmdlist.extend([os.path.abspath(archive), "|"])
cmdlist.append('cpio')
cmdlist.append('--extract')
cmdlist.append('--make-directories')
cmdlist.append('--preserve-modification-time')
cmdlist.append('--no-absolute-filenames')
cmdlist.append('--force-local')
cmdlist.extend(['--nonmatching', '"*\.\.*"'])
cmdlist = [cmd, os.path.abspath(archive), "|", 'cpio', '--extract',
'--make-directories', '--preserve-modification-time',
'--no-absolute-filenames', '--force-local', '--nonmatching',
'"*\.\.*"']
if kwargs['verbose']:
cmdlist.append('-v')
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)
return cmdlist
def add_tar_opts (cmdlist, encoding, verbose):
if encoding == 'lzip':
# use compress-program option

View File

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

View File

@ -22,9 +22,8 @@ def extract_compress (archive, encoding, cmd, **kwargs):
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.append('-c')
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
cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True})

View File

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

View File

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

View File

@ -22,10 +22,8 @@ def extract_xz (archive, encoding, cmd, **kwargs):
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.extend(['-c', '-d'])
cmdlist.append('--')
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
cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True})
@ -35,9 +33,7 @@ def test_xz (archive, encoding, cmd, **kwargs):
cmdlist = [cmd]
if kwargs['verbose']:
cmdlist.append('-v')
cmdlist.append('-t')
cmdlist.append('--')
cmdlist.append(archive)
cmdlist.extend(['-t', '--', archive])
return cmdlist
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
cmd = " ".join([util.shell_quote(x) for x in cmdlist])
return (cmd, {'shell': True})

View File

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