| OLD | NEW |
| (Empty) |
| 1 <!-- | |
| 2 Copyright 2014 The Chromium Authors. All rights reserved. | |
| 3 Use of this source code is governed by a BSD-style license that can be | |
| 4 found in the LICENSE file. | |
| 5 --> | |
| 6 <link rel="import" href="../lib/net.html"> | |
| 7 <link href="../model/ct-builder-status.html" rel="import"> | |
| 8 | |
| 9 <script> | |
| 10 // FIXME: Just fetch the latest_builder_info data instead of the entire | |
| 11 // alerts structure. | |
| 12 var BUILD_DATA_URI = 'https://sheriff-o-matic.appspot.com/alerts'; | |
| 13 | |
| 14 var revisions = revisions || {}; | |
| 15 | |
| 16 (function() { | |
| 17 revisions.parseBuildInfo = function(data) { | |
| 18 var groups = data['latest_builder_info']; | |
| 19 return new Promise(function(resolve, reject) { | |
| 20 var model = new CTBuilderStatus(); | |
| 21 for (var group in groups) { | |
| 22 var modelGroup = new CTBuilderGroup(group); | |
| 23 for (var build in groups[group]) { | |
| 24 var modelBuilder = new CTBuilderBot(modelGroup, build, | |
| 25 groups[group][build]['state'], | |
| 26 groups[group][build]['lastUpdateTime']); | |
| 27 var revisions = groups[group][build]['revisions']; | |
| 28 for (var repository in revisions) { | |
| 29 modelBuilder.addRepository( | |
| 30 new CTBuilderRepository(repository, revisions[repository])); | |
| 31 } | |
| 32 modelGroup.addBuilder(modelBuilder); | |
| 33 } | |
| 34 model.addGroup(modelGroup); | |
| 35 } | |
| 36 model.sort(); | |
| 37 resolve(model); | |
| 38 }); | |
| 39 }; | |
| 40 | |
| 41 revisions.load = function() { | |
| 42 return net.json(BUILD_DATA_URI).then(revisions.parseBuildInfo); | |
| 43 }; | |
| 44 | |
| 45 })(); | |
| 46 </script> | |
| OLD | NEW |