blob: 828837cd1ecca51d0fce7478a0d680fc173f83b6 [file] [log] [blame]
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from gae_libs.pipelines import SynchronousPipeline
from libs import analysis_status as status
from model import entity_util
from services import culprit_action
from services.parameters import SubmitRevertCLParameters
class SubmitRevertCLPipeline(SynchronousPipeline):
input_type = SubmitRevertCLParameters
output_type = int
def OnAbort(self, pipeline_input):
culprit = entity_util.GetEntityFromUrlsafeKey(pipeline_input.cl_key)
assert culprit
if culprit.submit_revert_pipeline_id == self.pipeline_id:
if (culprit.revert_submission_status and
culprit.revert_submission_status != status.COMPLETED):
culprit.revert_submission_status = status.ERROR
culprit.submit_revert_pipeline_id = None
culprit.put()
# Arguments number differs from overridden method - pylint: disable=W0221
def RunImpl(self, pipeline_input):
return culprit_action.CommitRevert(pipeline_input, self.pipeline_id)