def process_dud(config, session, path): dud = Dud(path) jid = dud.get("X-Debile-Job", None) if jid is None: return reject_dud(session, dud, "missing-dud-job") try: dud.validate() except DudFileException: return reject_dud(session, dud, "invalid-dud-upload") try: fingerprint = dud.validate_signature(config['keyrings']['pgp']) except DudFileException: return reject_dud(session, dud, "invalid-signature") try: builder = session.query(Builder).filter_by(pgp=fingerprint).one() except NoResultFound: return reject_dud(session, dud, "invalid-dud-builder") job = session.query(Job).get(jid) if job is None: return reject_dud(session, dud, "invalid-dud-job") if dud.get("X-Debile-Failed", None) is None: return reject_dud(session, dud, "no-failure-notice") if job.builder != builder: return reject_dud(session, dud, "invalid-dud-uploader") accept_dud(config, session, dud, builder)
def process_dud(config, session, path): try: dud = Dud(path) except Exception as e: print('SKIP: Error loading dud file {tag} - ({exception}: {args})'.format( tag=path, exception=type(e), args=e.args)) return try: dud.validate() except Exception as e: print('SKIP: Invalid dud file {tag} ({exception}: {args})'.format( tag=path, exception=type(e), args=e.args)) return try: fingerprint = dud.validate_signature(config['keyrings']['pgp']) except DudFileException: return reject_dud(session, dud, "invalid-signature") try: builder = session.query(Builder).filter_by(pgp=fingerprint).one() except NoResultFound: return reject_dud(session, dud, "invalid-dud-builder") jid = dud.get("X-Debile-Job", None) if jid is None: return reject_dud(session, dud, "missing-dud-job") job = session.query(Job).get(jid) if job is None: return reject_dud(session, dud, "invalid-dud-job") if dud.get("X-Debile-Failed", None) is None: return reject_dud(session, dud, "no-failure-notice") if job.builder != builder: return reject_dud(session, dud, "invalid-dud-uploader") accept_dud(config, session, dud, builder)
def process_dud(config, session, path): try: dud = Dud(path) except Exception as e: print('SKIP: Error loading dud file {tag} - ({exception}: {args})'. format(tag=path, exception=type(e), args=e.args)) return try: dud.validate() except Exception as e: print('SKIP: Invalid dud file {tag} ({exception}: {args})'.format( tag=path, exception=type(e), args=e.args)) return try: fingerprint = dud.validate_signature(config['keyrings']['pgp']) except DudFileException: return reject_dud(session, dud, "invalid-signature") try: builder = session.query(Builder).filter_by(pgp=fingerprint).one() except NoResultFound: return reject_dud(session, dud, "invalid-dud-builder") jid = dud.get("X-Debile-Job", None) if jid is None: return reject_dud(session, dud, "missing-dud-job") job = session.query(Job).get(jid) if job is None: return reject_dud(session, dud, "invalid-dud-job") if dud.get("X-Debile-Failed", None) is None: return reject_dud(session, dud, "no-failure-notice") if job.builder != builder: return reject_dud(session, dud, "invalid-dud-uploader") accept_dud(config, session, dud, builder)