def bom(self): """ Convenience accessor returning a :py:class:`ZAbom.bom` for the bom in *oedir*. """ svnrevbom = self.svnrev(self.bomfile()) if self.bom_obsolete(svnrevbom): self.logger.debug('(Re)reading bom from {}...'.format(self.bomfile())) self._bom = ZAbom.bom(self.bomfile()) self._last_read_bom = svnrevbom return self._bom
parser = argparse.ArgumentParser(description='apply a submission.') parser.add_argument('requester') parser.add_argument('bomfile') parser.add_argument('speculation') options = parser.parse_args() if '<' in options.requester: # rip out requester email toss, toss, hold = options.requester.partition('<') options.requester, toss, toss = hold.rpartition('>') if options.speculation[0] == "'" and options.speculation[-1] == "'": options.speculation = options.speculation[1:-1] return options if __name__ == '__main__': options = getopts() bom = ZAbom.bom(options.bomfile, dereference=False) owners = bom.speculate(options.speculation, options.requester) tmpfile = options.bomfile + '-new' bom.write(tmpfile) os.rename(tmpfile, options.bomfile) print(owners)