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 |