[Python-checkins] CVS: distutils/distutils util.py,1.40,1.41
Greg Ward
python-dev@python.org
Tue, 1 Aug 2000 18:37:33 -0700
Update of /cvsroot/python/distutils/distutils
In directory slayer.i.sourceforge.net:/tmp/cvs-serv12526
Modified Files:
util.py
Log Message:
Added the 'execute()' function (moved here from cmd.py with minor tweakage).
Index: util.py
===================================================================
RCS file: /cvsroot/python/distutils/distutils/util.py,v
retrieving revision 1.40
retrieving revision 1.41
diff -C2 -r1.40 -r1.41
*** util.py 2000/08/02 00:37:32 1.40
--- util.py 2000/08/02 01:37:30 1.41
***************
*** 224,225 ****
--- 224,251 ----
# split_quoted ()
+
+
+ def execute (func, args, msg=None, verbose=0, dry_run=0):
+ """Perform some action that affects the outside world (eg. by writing
+ to the filesystem). Such actions are special because they are disabled
+ by the 'dry_run' flag, and announce themselves if 'verbose' is true.
+ This method takes care of all that bureaucracy for you; all you have to
+ do is supply the function to call and an argument tuple for it (to
+ embody the "external action" being performed), and an optional message
+ to print.
+ """
+ # Generate a message if we weren't passed one
+ if msg is None:
+ msg = "%s%s" % (func.__name__, `args`)
+ if msg[-2:] == ',)': # correct for singleton tuple
+ msg = msg[0:-2] + ')'
+
+ # Print it if verbosity level is high enough
+ if verbose:
+ print msg
+
+ # And do it, as long as we're not in dry-run mode
+ if not dry_run:
+ apply(func, args)
+
+ # execute()