# Copyright 2014 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. """Request Handler that updates the Expectation version.""" import webapp2 import ispy_api from common import constants import gs_bucket class RebaselineHandler(webapp2.RequestHandler): """Request handler to allow test mask updates.""" def post(self): """Accepts post requests. Expects a test_run as a parameter and updates the associated version file to use the expectations associated with that test run. """ test_run = self.request.get('test_run') # Fail if test_run parameter is missing. if not test_run: self.response.headers['Content-Type'] = 'json/application' self.response.write(json.dumps( {'error': '\'test_run\' must be supplied to rebaseline.'})) return # Otherwise, set up the utilities. bucket = gs_bucket.GoogleCloudStorageBucket(constants.BUCKET) ispy = ispy_api.ISpyApi(bucket) # Update versions file. ispy.RebaselineToTestRun(test_run) # Redirect back to the sites list for the test run. self.redirect('/?test_run=%s' % test_run)