from flask import jsonify from flask_login import current_user, login_required from . import api @api.route('/v1.0/corpora') @login_required def corpora(): corpora = [] for corpus in current_user.corpora.all(): corpora.append({'id': corpus.id, 'creation_date': corpus.creation_date.timestamp(), 'description': corpus.description, 'title': corpus.title}) return jsonify(corpora) @api.route('/v1.0/corpora/') @login_required def corpus(corpus_id): corpus = current_user.corpora.filter_by(id=corpus_id).first() if not corpus: ''' This should return 404 ''' return jsonify(None) return jsonify({'id': corpus.id, 'creation_date': corpus.creation_date, 'description': corpus.description, 'title': corpus.title}) @api.route('/v1.0/jobs') @login_required def jobs(): jobs = [] for job in current_user.jobs.all(): jobs.append({'id': job.id, 'creation_date': job.creation_date.timestamp(), 'description': job.description, 'end_date': job.end_date.timestamp() if job.end_date else None, 'mem_mb': job.mem_mb, 'n_cores': job.n_cores, 'service': job.service, 'service_args': job.service_args, 'service_version': job.service_version, 'status': job.status, 'title': job.title}) return jsonify(jobs) @api.route('/v1.0/jobs/') @login_required def job(job_id): job = current_user.jobs.filter_by(id=job_id).first() if not job: ''' This should return 404 ''' return jsonify(None) return jsonify({'id': job.id, 'creation_date': job.creation_date.timestamp(), 'description': job.description, 'end_date': job.end_date.timestamp() if job.end_date else None, 'mem_mb': job.mem_mb, 'n_cores': job.n_cores, 'service': job.service, 'service_args': job.service_args, 'service_version': job.service_version, 'status': job.status, 'title': job.title})