ListLabels.py 634 B

12345678910111213141516171819202122232425262728
  1. from flask import abort, jsonify
  2. from flask.views import View
  3. from pycs.database.Database import Database
  4. class ListLabels(View):
  5. """
  6. return a list of labels 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, identifier):
  14. # find project
  15. project = self.db.project(identifier)
  16. if project is None:
  17. abort(404)
  18. # get labels
  19. labels = project.labels()
  20. # return labels
  21. return jsonify(labels)