(self, infiles, outfile, func, args,
                  exec_msg=None, skip_msg=None, level=1)
Special case of 'execute()' for operations that process one or
        more input files and generate one output file.  Works just like
        'execute()', except the operation is skipped and a different
        message printed if 'outfile' already exists and is newer than all
        files listed in 'infiles'.  If the command defined 'self.force',
        and it is true, then the command is unconditionally run -- does no
        timestamp checks.
Special case of 'execute()' for operations that process one or
        more input files and generate one output file.  Works just like
        'execute()', except the operation is skipped and a different
        message printed if 'outfile' already exists and is newer than all
        files listed in 'infiles'.  If the command defined 'self.force',
        and it is true, then the command is unconditionally run -- does no
        timestamp checks.
Special case of execute () for operations that process one or more input files and generate one output file . Works just like execute () except the operation is skipped and a different message printed if outfile already exists and is newer than all files listed in infiles . If the command defined self . force and it is true then the command is unconditionally run -- does no timestamp checks .
def make_file(self, infiles, outfile, func, args,
                  exec_msg=None, skip_msg=None, level=1):
        """Special case of 'execute()' for operations that process one or
        more input files and generate one output file.  Works just like
        'execute()', except the operation is skipped and a different
        message printed if 'outfile' already exists and is newer than all
        files listed in 'infiles'.  If the command defined 'self.force',
        and it is true, then the command is unconditionally run -- does no
        timestamp checks.
        """
        if skip_msg is None:
            skip_msg = "skipping %s (inputs unchanged)" % outfile

        # Allow 'infiles' to be a single string
        if isinstance(infiles, str):
            infiles = (infiles,)
        elif not isinstance(infiles, (list, tuple)):
            raise TypeError(
                  "'infiles' must be a string, or a list or tuple of strings")

        if exec_msg is None:
            exec_msg = "generating %s from %s" % (outfile, ', '.join(infiles))

        # If 'outfile' must be regenerated (either because it doesn't
        # exist, is out-of-date, or the 'force' flag is true) then
        # perform the action that presumably regenerates it
        if self.force or dep_util.newer_group(infiles, outfile):
            self.execute(func, args, exec_msg, level)
        # Otherwise, print the "skip" message
        else:
            log.debug(skip_msg)
def make_file ( self , infiles , outfile , func , args , exec_msg = None , skip_msg = None , level = 1 ) : if skip_msg is None : skip_msg = "skipping %s (inputs unchanged)" % outfile # Allow 'infiles' to be a single string if isinstance ( infiles , str ) : infiles = ( infiles , ) elif not isinstance ( infiles , ( list , tuple ) ) : raise TypeError ( "'infiles' must be a string, or a list or tuple of strings" ) if exec_msg is None : exec_msg = "generating %s from %s" % ( outfile , ', ' . join ( infiles ) ) # If 'outfile' must be regenerated (either because it doesn't # exist, is out-of-date, or the 'force' flag is true) then # perform the action that presumably regenerates it if self . force or dep_util . newer_group ( infiles , outfile ) : self . execute ( func , args , exec_msg , level ) # Otherwise, print the "skip" message else : log . debug ( skip_msg )