Created
December 4, 2015 15:27
-
-
Save HakimCassimallyBBC/8dbb24f810b493a57091 to your computer and use it in GitHub Desktop.
latest passing commit with itertools
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import itertools | |
test1 = [ | |
('3df947df42a13686382b47a73ca12b2fe535f5a3', ''), | |
('1d6018219ba9eaeb209f31e91b7d56b77d4fbfc3', 'passed'), | |
('7295f7c3606109789228ab48c23a7807ec8a3f61', ''), | |
('ba39eb2f561ef668f0569c57a8ee0e549b05049c', ''), | |
('f845f3fe4e45e9137da68b45ef43e0611659f4ab', ''), | |
('ef7e74c7d89faec970e7cae961fd58e45cb69175', ''), | |
('77255a3aa08d493252d1fb3e2c19967bf4253a59', 'passed'), | |
('573d1455c93e895d4b1960b9b4ad9cd53c022a3a', ''), | |
('7b1ecbe27beaafc70067285ab86de09662c4c5d5', ''), | |
('ed578beae9d397cb12ffdd82cca1925744a64db0', ''), | |
('e66f1067d64d492683b9210ca8dde57b37d74f9d', ''), | |
('f60d33430375afa33a36532d9ce947db7689b5c0', ''), | |
('7e152c03c9a1573e11ef8674d24c9c03b2efcbaf' '') | |
] | |
test2 = [ | |
('3df947df42a13686382b47a73ca12b2fe535f5a3', ''), | |
('1d6018219ba9eaeb209f31e91b7d56b77d4fbfc3', ''), | |
('7295f7c3606109789228ab48c23a7807ec8a3f61', ''), | |
('ba39eb2f561ef668f0569c57a8ee0e549b05049c', 'passed'), | |
('f845f3fe4e45e9137da68b45ef43e0611659f4ab', ''), | |
('ef7e74c7d89faec970e7cae961fd58e45cb69175', ''), | |
('77255a3aa08d493252d1fb3e2c19967bf4253a59', 'passed'), | |
('573d1455c93e895d4b1960b9b4ad9cd53c022a3a', ''), | |
('7b1ecbe27beaafc70067285ab86de09662c4c5d5', ''), | |
('ed578beae9d397cb12ffdd82cca1925744a64db0', ''), | |
('e66f1067d64d492683b9210ca8dde57b37d74f9d', ''), | |
('f60d33430375afa33a36532d9ce947db7689b5c0', ''), | |
('7e152c03c9a1573e11ef8674d24c9c03b2efcbaf' '') | |
] | |
test3 = [ | |
('3df947df42a13686382b47a73ca12b2fe535f5a3', ''), | |
('1d6018219ba9eaeb209f31e91b7d56b77d4fbfc3', ''), | |
('7295f7c3606109789228ab48c23a7807ec8a3f61', ''), | |
('ba39eb2f561ef668f0569c57a8ee0e549b05049c', ''), | |
('f845f3fe4e45e9137da68b45ef43e0611659f4ab', 'passed'), | |
('ef7e74c7d89faec970e7cae961fd58e45cb69175', ''), | |
('77255a3aa08d493252d1fb3e2c19967bf4253a59', 'passed'), | |
('573d1455c93e895d4b1960b9b4ad9cd53c022a3a', ''), | |
('7b1ecbe27beaafc70067285ab86de09662c4c5d5', ''), | |
('ed578beae9d397cb12ffdd82cca1925744a64db0', ''), | |
('e66f1067d64d492683b9210ca8dde57b37d74f9d', ''), | |
('f60d33430375afa33a36532d9ce947db7689b5c0', ''), | |
('7e152c03c9a1573e11ef8674d24c9c03b2efcbaf' '') | |
] | |
def all_passed(tup): | |
print (tup) | |
shas = set( sha for (sha,value) in tup) | |
assert len(shas) == 1 | |
values = set( value for (sha,value) in tup) | |
return (len(values) == 1) and ('passed' in values) | |
def get_first(*commit_logs): | |
stream = itertools.izip(*commit_logs) | |
passed = itertools.ifilter( all_passed, stream ) | |
commit = next(passed) | |
return commit[0][0] | |
print get_first(test1, test2, test3) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment