def help(self): '''Return the help string of the task''' # This returns a help string for a given task of the form: # # ================================================== # <name> # ============================== (If supplied) # <docstring> # ============================== (If overrides other tasks) # Overrides <other task file> # ============================== # From <file> on <line> # ============================== # <name>(Argspec) result = ['=' * 50, self.name] # And the doc, if it exists if self.doc: result.extend(['=' * 30, self.doc]) override = self.overrides while override: if isinstance(override, Shovel): result.append('Overrides module') else: result.append('Overrides %s' % override.file) override = override.overrides # Print where we read this function in from result.extend([ '=' * 30, 'From %s on line %i' % (self.file, self.line), '=' * 30, '%s%s' % (self.name, str(Args(self.spec))) ]) return os.linesep.join(result)
def dry(self, *args, **kwargs): '''Perform a dry-run of the task''' return 'Would have executed:\n%s%s' % ( self.name, Args(self.spec).explain(*args, **kwargs))