def get_info()

in crashclouseau/buildhub.py [0:0]


    def get_info(data):
        res = {}
        aggs = data["aggregations"]
        for product in aggs["products"]["buckets"]:
            prod = product["key"]
            prod = RPRODS.get(prod, prod)
            if prod in res:
                res_p = res[prod]
            else:
                res[prod] = res_p = {}
            for channel in product["channels"]["buckets"]:
                chan = channel["key"]
                if chan in res_p:
                    res_pc = res_p[chan]
                else:
                    res_p[chan] = res_pc = {}

                for buildid in channel["buildids"]["buckets"]:
                    bid = utils.get_build_date(buildid["key"])
                    rev = buildid["revisions"]["buckets"][0]["key"]
                    version = buildid["versions"]["buckets"][0]["key"]
                    res_pc[bid] = {"revision": utils.short_rev(rev), "version": version}
        return res