RemoveJob.py 704 B

1234567891011121314151617181920212223242526272829
  1. from flask import make_response, request, abort
  2. from flask.views import View
  3. from pycs.jobs.JobRunner import JobRunner
  4. class RemoveJob(View):
  5. """
  6. remove a job from the job runners list
  7. """
  8. # pylint: disable=arguments-differ
  9. methods = ['POST']
  10. def __init__(self, jobs: JobRunner):
  11. # pylint: disable=invalid-name
  12. self.jobs = jobs
  13. def dispatch_request(self, identifier):
  14. # extract request data
  15. data = request.get_json(force=True)
  16. if 'remove' not in data or data['remove'] is not True:
  17. abort(400)
  18. # remove job
  19. self.jobs.remove(identifier)
  20. # return success response
  21. return make_response()