def files_lastjob(self, extension = '*'): """Like files(), but only returns files that were created by the last job. If no job has yet run on the document, returns the same files as the files_uptodate() method. """ if self._start_time: files = util.files(self.basenames(), extension) try: files = util.newer_files(files, self._start_time) except (OSError, IOError): pass return files else: return self.files(extension)
def files(self, extension = '*', newer = True): """Returns a list of existing files matching our basenames and the given extension. First the files basename + extension are returned, then basename + '-[0-9]+' + extension, then basename + '-.+' + extension. If newer is True (the default), only files that are newer than the jobfile() are returned. """ jobfile = self.jobfile() if jobfile: files = util.files(self.basenames(), extension) if newer: try: return util.newer_files(files, os.path.getmtime(jobfile)) except (OSError, IOError): pass return list(files) return []