Commit 208764c9 authored by Greg Ward's avatar Greg Ward

Reformat docstrings.

Standardize whitespace in function calls.
parent b7ed5395
...@@ -15,13 +15,13 @@ from distutils.dir_util import mkpath ...@@ -15,13 +15,13 @@ from distutils.dir_util import mkpath
def make_tarball (base_name, base_dir, compress="gzip", def make_tarball (base_name, base_dir, compress="gzip",
verbose=0, dry_run=0): verbose=0, dry_run=0):
"""Create a (possibly compressed) tar file from all the files under """Create a (possibly compressed) tar file from all the files under
'base_dir'. 'compress' must be "gzip" (the default), "compress", 'base_dir'. 'compress' must be "gzip" (the default), "compress",
"bzip2", or None. Both "tar" and the compression utility named by "bzip2", or None. Both "tar" and the compression utility named by
'compress' must be on the default program search path, so this is 'compress' must be on the default program search path, so this is
probably Unix-specific. The output tar file will be named 'base_dir' probably Unix-specific. The output tar file will be named 'base_dir' +
+ ".tar", possibly plus the appropriate compression extension (".gz", ".tar", possibly plus the appropriate compression extension (".gz",
".bz2" or ".Z"). Return the output filename.""" ".bz2" or ".Z"). Return the output filename.
"""
# XXX GNU tar 1.13 has a nifty option to add a prefix directory. # XXX GNU tar 1.13 has a nifty option to add a prefix directory.
# It's pretty new, though, so we certainly can't require it -- # It's pretty new, though, so we certainly can't require it --
# but it would be nice to take advantage of it to skip the # but it would be nice to take advantage of it to skip the
...@@ -44,11 +44,11 @@ def make_tarball (base_name, base_dir, compress="gzip", ...@@ -44,11 +44,11 @@ def make_tarball (base_name, base_dir, compress="gzip",
archive_name = base_name + ".tar" archive_name = base_name + ".tar"
mkpath(os.path.dirname(archive_name), verbose=verbose, dry_run=dry_run) mkpath(os.path.dirname(archive_name), verbose=verbose, dry_run=dry_run)
cmd = ["tar", "-cf", archive_name, base_dir] cmd = ["tar", "-cf", archive_name, base_dir]
spawn (cmd, verbose=verbose, dry_run=dry_run) spawn(cmd, verbose=verbose, dry_run=dry_run)
if compress: if compress:
spawn ([compress] + compress_flags[compress] + [archive_name], spawn([compress] + compress_flags[compress] + [archive_name],
verbose=verbose, dry_run=dry_run) verbose=verbose, dry_run=dry_run)
return archive_name + compress_ext[compress] return archive_name + compress_ext[compress]
else: else:
return archive_name return archive_name
...@@ -57,13 +57,13 @@ def make_tarball (base_name, base_dir, compress="gzip", ...@@ -57,13 +57,13 @@ def make_tarball (base_name, base_dir, compress="gzip",
def make_zipfile (base_name, base_dir, verbose=0, dry_run=0): def make_zipfile (base_name, base_dir, verbose=0, dry_run=0):
"""Create a zip file from all the files under 'base_dir'. The """Create a zip file from all the files under 'base_dir'. The output
output zip file will be named 'base_dir' + ".zip". Uses either the zip file will be named 'base_dir' + ".zip". Uses either the InfoZIP
InfoZIP "zip" utility (if installed and found on the default search "zip" utility (if installed and found on the default search path) or
path) or the "zipfile" Python module (if available). If neither the "zipfile" Python module (if available). If neither tool is
tool is available, raises DistutilsExecError. Returns the name available, raises DistutilsExecError. Returns the name of the output
of the output zip file.""" zip file.
"""
# This initially assumed the Unix 'zip' utility -- but # This initially assumed the Unix 'zip' utility -- but
# apparently InfoZIP's zip.exe works the same under Windows, so # apparently InfoZIP's zip.exe works the same under Windows, so
# no changes needed! # no changes needed!
...@@ -71,8 +71,8 @@ def make_zipfile (base_name, base_dir, verbose=0, dry_run=0): ...@@ -71,8 +71,8 @@ def make_zipfile (base_name, base_dir, verbose=0, dry_run=0):
zip_filename = base_name + ".zip" zip_filename = base_name + ".zip"
mkpath(os.path.dirname(zip_filename), verbose=verbose, dry_run=dry_run) mkpath(os.path.dirname(zip_filename), verbose=verbose, dry_run=dry_run)
try: try:
spawn (["zip", "-rq", zip_filename, base_dir], spawn(["zip", "-rq", zip_filename, base_dir],
verbose=verbose, dry_run=dry_run) verbose=verbose, dry_run=dry_run)
except DistutilsExecError: except DistutilsExecError:
# XXX really should distinguish between "couldn't find # XXX really should distinguish between "couldn't find
...@@ -96,14 +96,14 @@ def make_zipfile (base_name, base_dir, verbose=0, dry_run=0): ...@@ -96,14 +96,14 @@ def make_zipfile (base_name, base_dir, verbose=0, dry_run=0):
def visit (z, dirname, names): def visit (z, dirname, names):
for name in names: for name in names:
path = os.path.normpath(os.path.join(dirname, name)) path = os.path.normpath(os.path.join(dirname, name))
if os.path.isfile (path): if os.path.isfile(path):
z.write (path, path) z.write(path, path)
if not dry_run: if not dry_run:
z = zipfile.ZipFile (zip_filename, "wb", z = zipfile.ZipFile(zip_filename, "wb",
compression=zipfile.ZIP_DEFLATED) compression=zipfile.ZIP_DEFLATED)
os.path.walk (base_dir, visit, z) os.path.walk(base_dir, visit, z)
z.close() z.close()
return zip_filename return zip_filename
...@@ -143,9 +143,9 @@ def make_archive (base_name, format, ...@@ -143,9 +143,9 @@ def make_archive (base_name, format,
if root_dir is not None: if root_dir is not None:
if verbose: if verbose:
print "changing into '%s'" % root_dir print "changing into '%s'" % root_dir
base_name = os.path.abspath (base_name) base_name = os.path.abspath(base_name)
if not dry_run: if not dry_run:
os.chdir (root_dir) os.chdir(root_dir)
if base_dir is None: if base_dir is None:
base_dir = os.curdir base_dir = os.curdir
...@@ -161,12 +161,12 @@ def make_archive (base_name, format, ...@@ -161,12 +161,12 @@ def make_archive (base_name, format,
func = format_info[0] func = format_info[0]
for (arg,val) in format_info[1]: for (arg,val) in format_info[1]:
kwargs[arg] = val kwargs[arg] = val
filename = apply (func, (base_name, base_dir), kwargs) filename = apply(func, (base_name, base_dir), kwargs)
if root_dir is not None: if root_dir is not None:
if verbose: if verbose:
print "changing back to '%s'" % save_cwd print "changing back to '%s'" % save_cwd
os.chdir (save_cwd) os.chdir(save_cwd)
return filename return filename
......
...@@ -14,14 +14,13 @@ from distutils.errors import DistutilsFileError ...@@ -14,14 +14,13 @@ from distutils.errors import DistutilsFileError
def newer (source, target): def newer (source, target):
"""Return true if 'source' exists and is more recently modified than """Return true if 'source' exists and is more recently modified than
'target', or if 'source' exists and 'target' doesn't. Return 'target', or if 'source' exists and 'target' doesn't. Return false if
false if both exist and 'target' is the same age or younger than both exist and 'target' is the same age or younger than 'source'.
'source'. Raise DistutilsFileError if 'source' does not Raise DistutilsFileError if 'source' does not exist.
exist.""" """
if not os.path.exists(source):
if not os.path.exists (source):
raise DistutilsFileError, "file '%s' does not exist" % source raise DistutilsFileError, "file '%s' does not exist" % source
if not os.path.exists (target): if not os.path.exists(target):
return 1 return 1
from stat import ST_MTIME from stat import ST_MTIME
...@@ -35,20 +34,20 @@ def newer (source, target): ...@@ -35,20 +34,20 @@ def newer (source, target):
def newer_pairwise (sources, targets): def newer_pairwise (sources, targets):
"""Walk two filename lists in parallel, testing if each source is newer """Walk two filename lists in parallel, testing if each source is newer
than its corresponding target. Return a pair of lists (sources, than its corresponding target. Return a pair of lists (sources,
targets) where source is newer than target, according to the targets) where source is newer than target, according to the semantics
semantics of 'newer()'.""" of 'newer()'.
"""
if len (sources) != len (targets): if len(sources) != len(targets):
raise ValueError, "'sources' and 'targets' must be same length" raise ValueError, "'sources' and 'targets' must be same length"
# build a pair of lists (sources, targets) where source is newer # build a pair of lists (sources, targets) where source is newer
n_sources = [] n_sources = []
n_targets = [] n_targets = []
for i in range (len (sources)): for i in range(len(sources)):
if newer (sources[i], targets[i]): if newer(sources[i], targets[i]):
n_sources.append (sources[i]) n_sources.append(sources[i])
n_targets.append (targets[i]) n_targets.append(targets[i])
return (n_sources, n_targets) return (n_sources, n_targets)
...@@ -56,20 +55,20 @@ def newer_pairwise (sources, targets): ...@@ -56,20 +55,20 @@ def newer_pairwise (sources, targets):
def newer_group (sources, target, missing='error'): def newer_group (sources, target, missing='error'):
"""Return true if 'target' is out-of-date with respect to any """Return true if 'target' is out-of-date with respect to any file
file listed in 'sources'. In other words, if 'target' exists and listed in 'sources'. In other words, if 'target' exists and is newer
is newer than every file in 'sources', return false; otherwise than every file in 'sources', return false; otherwise return true.
return true. 'missing' controls what we do when a source file is 'missing' controls what we do when a source file is missing; the
missing; the default ("error") is to blow up with an OSError from default ("error") is to blow up with an OSError from inside 'stat()';
inside 'stat()'; if it is "ignore", we silently drop any missing if it is "ignore", we silently drop any missing source files; if it is
source files; if it is "newer", any missing source files make us "newer", any missing source files make us assume that 'target' is
assume that 'target' is out-of-date (this is handy in "dry-run" out-of-date (this is handy in "dry-run" mode: it'll make you pretend to
mode: it'll make you pretend to carry out commands that wouldn't carry out commands that wouldn't work because inputs are missing, but
work because inputs are missing, but that doesn't matter because that doesn't matter because you're not actually going to run the
you're not actually going to run the commands).""" commands).
"""
# If the target doesn't even exist, then it's definitely out-of-date. # If the target doesn't even exist, then it's definitely out-of-date.
if not os.path.exists (target): if not os.path.exists(target):
return 1 return 1
# Otherwise we have to find out the hard way: if *any* source file # Otherwise we have to find out the hard way: if *any* source file
...@@ -77,9 +76,9 @@ def newer_group (sources, target, missing='error'): ...@@ -77,9 +76,9 @@ def newer_group (sources, target, missing='error'):
# we can immediately return true. If we fall through to the end # we can immediately return true. If we fall through to the end
# of the loop, then 'target' is up-to-date and we return false. # of the loop, then 'target' is up-to-date and we return false.
from stat import ST_MTIME from stat import ST_MTIME
target_mtime = os.stat (target)[ST_MTIME] target_mtime = os.stat(target)[ST_MTIME]
for source in sources: for source in sources:
if not os.path.exists (source): if not os.path.exists(source):
if missing == 'error': # blow up when we stat() the file if missing == 'error': # blow up when we stat() the file
pass pass
elif missing == 'ignore': # missing source dropped from elif missing == 'ignore': # missing source dropped from
...@@ -102,13 +101,13 @@ def newer_group (sources, target, missing='error'): ...@@ -102,13 +101,13 @@ def newer_group (sources, target, missing='error'):
def make_file (src, dst, func, args, def make_file (src, dst, func, args,
verbose=0, update_message=None, noupdate_message=None): verbose=0, update_message=None, noupdate_message=None):
"""Makes 'dst' from 'src' (both filenames) by calling 'func' with """Makes 'dst' from 'src' (both filenames) by calling 'func' with
'args', but only if it needs to: i.e. if 'dst' does not exist or 'args', but only if it needs to: i.e. if 'dst' does not exist or 'src'
'src' is newer than 'dst'.""" is newer than 'dst'.
"""
if newer (src, dst): if newer(src, dst):
if verbose and update_message: if verbose and update_message:
print update_message print update_message
apply (func, args) apply(func, args)
else: else:
if verbose and noupdate_message: if verbose and noupdate_message:
print noupdate_message print noupdate_message
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment