1234567891011121314151617181920212223242526272829303132333435363738 |
- from flask import jsonify
- from flask import request
- from flask.views import View
- from pycs.database.File import File
- class GetPreviousAndNextFile(View):
- """
- return the previous and the next file
- """
- # pylint: disable=arguments-differ
- methods = ['GET']
- def dispatch_request(self, file_id: int):
- # get file from database
- file = File.get_or_404(file_id)
- with_annotations = request.args.get("only_with_annotations")
- kwargs = dict(with_annotations=None)
- if with_annotations is not None:
- kwargs["with_annotations"] = with_annotations == "1"
- # get previous and next
- result = {
- 'current': file,
- 'previous': file.previous(**kwargs),
- 'next': file.next(**kwargs),
- 'previousInCollection': file.previous_in_collection(**kwargs),
- 'nextInCollection': file.next_in_collection(**kwargs)
- }
- # return data
- return jsonify(result)
|