def _determine_repo_revision(data, treeherder_server_url): ''' Return repo_name and revision based on Pulse message data.''' query = TreeherderApi(server_url=treeherder_server_url) if 'project' in data: repo_name = data['project'] if 'job_id' in data: revision = query.query_revision_for_job(repo_name=repo_name, job_id=data['job_id']) elif 'resultset_id' in data: revision = query.query_revision_for_resultset( repo_name=repo_name, resultset_id=data['resultset_id']) else: LOG.error( 'We should have been able to determine the repo and revision') sys.exit(1) elif data['_meta']['exchange'] == 'exchange/build/normalized': repo_name = data['payload']['tree'] revision = data['payload']['revision'] return repo_name, revision