ListFiles.py 781 B

123456789101112131415161718192021222324252627282930313233
  1. from flask import abort, jsonify
  2. from flask.views import View
  3. from pycs.database.Database import Database
  4. class ListFiles(View):
  5. """
  6. return a list of files for a given project
  7. """
  8. # pylint: disable=arguments-differ
  9. methods = ['GET']
  10. def __init__(self, db: Database):
  11. # pylint: disable=invalid-name
  12. self.db = db
  13. def dispatch_request(self, project_id: int, start: int, length: int):
  14. # find project
  15. project = self.db.project(project_id)
  16. if project is None:
  17. return abort(404)
  18. # get file list
  19. count = project.count_files()
  20. files = project.files(start, length)
  21. # return files
  22. return jsonify({
  23. 'count': count,
  24. 'files': files
  25. })