예제 #1
0
    def post(self):
        """Handle a post request."""
        key = helpers.get_integer_key(self.request)

        data_bundle = ndb.Key(data_types.DataBundle, key).get()
        if not data_bundle:
            raise helpers.EarlyExitException('Corpus not found', 400)

        affected_fuzzers = data_types.Fuzzer.query(
            data_types.Fuzzer.data_bundle_name == data_bundle.name)
        for fuzzer in affected_fuzzers:
            fuzzer.data_bundle_name = None
            fuzzer.put()

        data_bundle.key.delete()

        template_values = {
            'title':
            'Success',
            'message':
            ('Corpus %s is successfully deleted. '
             'Redirecting back to corpora page...') % data_bundle.name,
            'redirect_url':
            '/corpora',
        }
        self.render('message.html', template_values)
예제 #2
0
    def post(self):
        """Handle a post request."""
        key = helpers.get_integer_key(self.request)

        fuzzer = ndb.Key(data_types.Fuzzer, key).get()
        if not fuzzer:
            raise helpers.EarlyExitException('Fuzzer not found.', 400)

        upload_info = self.get_upload()
        self.apply_fuzzer_changes(fuzzer, upload_info)
예제 #3
0
  def post(self):
    """Handle a post request."""
    key = helpers.get_integer_key(request)

    fuzzer = ndb.Key(data_types.Fuzzer, key).get()
    if not fuzzer:
      raise helpers.EarlyExitException('Fuzzer not found.', 400)

    fuzzer_selection.update_mappings_for_fuzzer(fuzzer, mappings=[])
    fuzzer.key.delete()

    helpers.log('Deleted fuzzer %s' % fuzzer.name, helpers.MODIFY_OPERATION)
    return self.redirect('/fuzzers')
예제 #4
0
파일: jobs.py 프로젝트: phwd/clusterfuzz
    def post(self):
        """Handle a post request."""
        key = helpers.get_integer_key(self.request)
        job = ndb.Key(data_types.Job, key).get()
        if not job:
            raise helpers.EarlyExitException('Job not found.', 400)

        # Delete from fuzzers' jobs' list.
        for fuzzer in ndb_utils.get_all_from_model(data_types.Fuzzer):
            if job.name in fuzzer.jobs:
                fuzzer.jobs.remove(job.name)
                fuzzer.put()

        # Delete associated fuzzer-job mapping(s).
        query = data_types.FuzzerJob.query()
        query = query.filter(data_types.FuzzerJob.job == job.name)
        for mapping in ndb_utils.get_all_from_query(query):
            mapping.key.delete()

        # Delete job.
        job.key.delete()

        helpers.log('Deleted job %s' % job.name, helpers.MODIFY_OPERATION)
        self.redirect('/jobs')