Index: tools/release/releases.py |
diff --git a/tools/release/releases.py b/tools/release/releases.py |
index 5084aa6d0c6bc31a5b1a9a8160814d3249387d5c..a92af331046a168a1ec928ab101051d5050ffe98 100755 |
--- a/tools/release/releases.py |
+++ b/tools/release/releases.py |
@@ -444,6 +444,10 @@ class WriteOutput(Step): |
MESSAGE = "Print output." |
def Run(self): |
+ |
+ output = {'releases':self['releases'], |
+ 'chrome_releases':self['chrome_releases']} |
+ |
if self._options.csv: |
with open(self._options.csv, "w") as f: |
writer = csv.DictWriter(f, |
@@ -455,9 +459,9 @@ class WriteOutput(Step): |
writer.writerow(release) |
if self._options.json: |
with open(self._options.json, "w") as f: |
- f.write(json.dumps(self["releases"])) |
+ f.write(json.dumps(output)) |
if not self._options.csv and not self._options.json: |
- print self["releases"] # pragma: no cover |
+ print output # pragma: no cover |
class Releases(ScriptsBase): |
@@ -486,16 +490,44 @@ class Releases(ScriptsBase): |
} |
def _Steps(self): |
+ |
return [ |
Preparation, |
RetrieveV8Releases, |
UpdateChromiumCheckout, |
RetrieveChromiumV8Releases, |
RietrieveChromiumBranches, |
+ RetrieveInformationOnCanary, |
CleanUp, |
- WriteOutput, |
+ WriteOutput |
] |
+class RetrieveInformationOnCanary(Step): |
+ MESSAGE = 'Retrieves relevant information on the latest Chrome Canary' |
+ |
+ def Run(self): |
+ |
+ params = None |
+ resultRaw = self.ReadURL('http://omahaproxy.appspot.com/all.json', params, wait_plan=[5, 20]) |
+ recentReleases = json.loads(resultRaw) |
+ print recentReleases |
+ |
+ allCanaries = [] |
+ |
+ for currentOS in recentReleases: |
+ for currentVersion in currentOS['versions']: |
+ currentCandidate = {'version':currentVersion['version'], |
+ 'os':currentVersion['os'], |
+ 'release_date': currentVersion['current_reldate'], |
+ 'v8_version':currentVersion['v8_version']} |
+ |
+ if currentVersion['channel'] == 'canary': |
+ allCanaries.append(currentCandidate) |
+ |
+ chromeReleases = {'canaries':allCanaries} |
+ self['chrome_releases'] = chromeReleases |
+ |
+ |
if __name__ == "__main__": # pragma: no cover |
sys.exit(Releases().Run()) |