def list_analysis(): ''' List all available analysis ''' all_analysis = BugAnalysis.with_bugs().all() logger.info('Fetched all analysis from db', all_analysis=all_analysis) return [ serialize_analysis(analysis, nb, False) for analysis, nb in all_analysis ]
def get_analysis(analysis_id): ''' Fetch an analysis and all its bugs ''' # Get bug analysis try: analysis, bugs_nb = BugAnalysis.with_bugs() \ .join(BugResult, isouter=True) \ .filter(BugAnalysis.id == analysis_id) \ .one() except NoResultFound: abort(404) logger.info('Fetched analysis from db', analysis=analysis) # Build JSON output return serialize_analysis(analysis, bugs_nb)
def update_analysis(analysis_id): ''' Update an analysis, from a bot Used to update version numbers from bot ''' # Get bug analysis try: analysis, bugs_nb = BugAnalysis.with_bugs() \ .filter(BugAnalysis.id == analysis_id) \ .one() except NoResultFound: abort(404) # Update version if 'version' in request.json: analysis.version = int(request.json['version']) # Save changes in db db.session.add(analysis) db.session.commit() # Build JSON output return serialize_analysis(analysis, bugs_nb)