from flask import abort, jsonify from flask.views import View from pycs.database.Project import Project from pycs.interfaces.MediaStorage import MediaStorage class GetProjectResults(View): """ get a list of all files and annotations for a project """ # pylint: disable=arguments-differ methods = ['GET'] def dispatch_request(self, project_id: int): # get project from database project = Project.query.get(project_id) if project is None: return abort(404) # map media files to a dict ms = MediaStorage(project.id) files = list(map(lambda f: f.serialize(), ms.files().iter())) # return result return jsonify(files)