| Index: appengine_apps/chromium_status/appengine_module/chromium_status/lkgr.py
|
| diff --git a/appengine_apps/chromium_status/appengine_module/chromium_status/lkgr.py b/appengine_apps/chromium_status/appengine_module/chromium_status/lkgr.py
|
| deleted file mode 100644
|
| index 31532d74308ac3ef38c66fcb1f32acdcd748f733..0000000000000000000000000000000000000000
|
| --- a/appengine_apps/chromium_status/appengine_module/chromium_status/lkgr.py
|
| +++ /dev/null
|
| @@ -1,107 +0,0 @@
|
| -# Copyright (c) 2011 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.
|
| -
|
| -"""LKGR management webpages."""
|
| -
|
| -import json
|
| -import logging
|
| -
|
| -from google.appengine.ext import db
|
| -
|
| -from appengine_module.chromium_status.base_page import BasePage
|
| -from appengine_module.chromium_status import utils
|
| -
|
| -
|
| -class Revision(db.Model): # pylint: disable=W0232
|
| - """Description for the revisions table."""
|
| - # The revision for which we save a status.
|
| - revision = db.IntegerProperty(required=True)
|
| - # The date when the revision status got added.
|
| - date = db.DateTimeProperty(auto_now_add=True)
|
| - # The success (True)/Failure (False) status of this revision.
|
| - status = db.BooleanProperty(required=True)
|
| - # The steps that caused the failure (if any).
|
| - failed_steps = db.TextProperty()
|
| - # Git hash for this revision
|
| - git_hash = db.StringProperty()
|
| - # Git hash is set
|
| - git_hash_set = db.BooleanProperty(default=False)
|
| -
|
| -
|
| -class Revisions(BasePage):
|
| - """Displays the revisions page containing the last 100 revisions."""
|
| -
|
| - @utils.requires_read_access
|
| - def get(self):
|
| - """Returns information about the last revision status."""
|
| - limit = int(self.request.get('limit', 100))
|
| - revisions = Revision.all().order('-revision').fetch(limit)
|
| - if self.request.get('format') == 'json':
|
| - self.response.headers['Content-Type'] = 'application/json'
|
| - self.response.headers['Access-Control-Allow-Origin'] = '*'
|
| - data = json.dumps([revision.AsDict() for revision in revisions])
|
| - self.response.out.write(data)
|
| - return
|
| -
|
| - page_value = {'revisions': revisions}
|
| - template_values = self.InitializeTemplate('Chromium Revisions Status')
|
| - template_values.update(page_value)
|
| - self.DisplayTemplate('revisions.html', template_values)
|
| -
|
| - @utils.requires_write_access
|
| - def post(self):
|
| - """Adds a new revision status."""
|
| - revision = self.request.get('revision')
|
| - success = self.request.get('success')
|
| - steps = self.request.get('steps')
|
| - git_hash = self.request.get('git_hash')
|
| - if revision and success:
|
| - revision = int(revision)
|
| - obj = Revision.all().filter('revision', revision).get()
|
| - if not obj:
|
| - obj = Revision(revision=revision, status=(success=="1"))
|
| -
|
| - obj.status = (success == "1")
|
| - obj.failed_steps = steps
|
| - if git_hash:
|
| - obj.git_hash = git_hash
|
| - obj.git_hash_set = True
|
| -
|
| - obj.put()
|
| -
|
| -
|
| -class LastKnownGoodRevisionSVN(BasePage):
|
| - """Displays the /lkgr and /svn-lkgr pages."""
|
| -
|
| - @utils.requires_read_access
|
| - def get(self):
|
| - """Look for the latest successful revision and return it."""
|
| - self.response.headers['Cache-Control'] = 'no-cache, private, max-age=5'
|
| - self.response.headers['Content-Type'] = 'text/plain'
|
| - revision = Revision.all().filter('status', True).order('-revision').get()
|
| - if revision:
|
| - self.response.out.write(revision.revision)
|
| -
|
| -
|
| -class LastKnownGoodRevisionGIT(BasePage):
|
| - """Displays the /git-lkgr page."""
|
| -
|
| - @utils.requires_read_access
|
| - def get(self):
|
| - """Look for the latest successful revision and return it."""
|
| - self.response.headers['Cache-Control'] = 'no-cache, private, max-age=5'
|
| - self.response.headers['Content-Type'] = 'text/plain'
|
| - revision = (
|
| - Revision.all().filter('status', True).filter('git_hash_set', True)
|
| - .order('-revision').get() )
|
| - if revision:
|
| - self.response.out.write(revision.git_hash)
|
| - else:
|
| - logging.error('OMG There\'s no git-lkgr!?')
|
| - self.abort(404)
|
| -
|
| -
|
| -def bootstrap():
|
| - if db.GqlQuery('SELECT __key__ FROM Revision').get() is None:
|
| - Revision(revision=0, status=False).put()
|
|
|