def get(self, begin_time, end_time): result = {} release = pd.read_json(json.dumps(Release.between(begin_time, end_time))).set_index("release_time") for name, g in release.groupby("release_type"): result[name] = {} ids = g.resample("m", how="count").id for ix in ids.index: date = time.format(ix.to_datetime(), "%Y-%m-%d") result[name][date] = ids[ix] return self.succ(result)
def get(self, begin_time, end_time): result = {} release = pd.read_json( json.dumps(Release.between(begin_time, end_time))) \ .set_index("release_time") for name, g in release.groupby("release_type"): result[name] = {} ids = g.resample("m", how="count").id for ix in ids.index: date = time.format(ix.to_datetime(), "%Y-%m-%d") result[name][date] = ids[ix] return self.succ(result)
def get(self, begin_time, end_time): result = {} for release in Release.between( datetime.strptime(begin_time, "%Y-%m-%d"), datetime.strptime(end_time, "%Y-%m-%d")): svc_name = release["service"]["name"] svc_type = release["service"]["type"] if not result.__contains__(svc_name): result[svc_name] = {} if not result[svc_name].__contains__(svc_type): result[svc_name][svc_type] = 1 else: result[svc_name][svc_type] += 1 return self.succ(result)
def get(self, begin_time, end_time): result = {} opts, svc_names = set(), set() for release in Release.between( datetime.strptime(begin_time, "%Y-%m-%d"), datetime.strptime(end_time, "%Y-%m-%d") ): proj = release["project"] svc_name = release["service"]["name"] svc_type = release["service"]["type"] is_pass, options = self.check_approval(release["approvals"]) if is_pass and len(release["approvals"]) < 3: continue svc_names.add(svc_name) if not result.__contains__(proj): result[proj] = {RELEASE.FAIL: {}, RELEASE.PASS: {}, RELEASE.OPTIONS: {}} if not result[proj][RELEASE.PASS].__contains__(svc_name): result[proj][RELEASE.PASS][svc_name] = 0 result[proj][RELEASE.FAIL][svc_name] = 0 if is_pass: result[proj][RELEASE.PASS][svc_name] += 1 else: result[proj][RELEASE.FAIL][svc_name] += 1 for opt in options.split(","): if not opt: continue opts.add(opt) if not result[proj][RELEASE.OPTIONS].__contains__(opt): result[proj][RELEASE.OPTIONS][opt] = 0 result[proj][RELEASE.OPTIONS][opt] += 1 for proj in result.values(): for opt in opts: if not proj[RELEASE.OPTIONS].__contains__(opt): proj[RELEASE.OPTIONS][opt] = 0 for svc_name in svc_names: if not proj[RELEASE.PASS].__contains__(svc_name): proj[RELEASE.PASS][svc_name] = 0 proj[RELEASE.FAIL][svc_name] = 0 return self.succ(result)
def get(self, begin_time, end_time): result = {} opts, svc_names = set(), set() for release in Release.between( datetime.strptime(begin_time, "%Y-%m-%d"), datetime.strptime(end_time, "%Y-%m-%d")): proj = release["project"] svc_name = release["service"]["name"] svc_type = release["service"]["type"] is_pass, options = self.check_approval(release["approvals"]) if is_pass and len(release["approvals"]) < 3: continue svc_names.add(svc_name) if not result.__contains__(proj): result[proj] = {RELEASE.FAIL: {}, RELEASE.PASS: {}, RELEASE.OPTIONS: {}} if not result[proj][RELEASE.PASS].__contains__(svc_name): result[proj][RELEASE.PASS][svc_name] = 0 result[proj][RELEASE.FAIL][svc_name] = 0 if is_pass: result[proj][RELEASE.PASS][svc_name] += 1 else: result[proj][RELEASE.FAIL][svc_name] += 1 for opt in options.split(","): if not opt: continue opts.add(opt) if not result[proj][RELEASE.OPTIONS].__contains__(opt): result[proj][RELEASE.OPTIONS][opt] = 0 result[proj][RELEASE.OPTIONS][opt] += 1 for proj in result.values(): for opt in opts: if not proj[RELEASE.OPTIONS].__contains__(opt): proj[RELEASE.OPTIONS][opt] = 0 for svc_name in svc_names: if not proj[RELEASE.PASS].__contains__(svc_name): proj[RELEASE.PASS][svc_name] = 0 proj[RELEASE.FAIL][svc_name] = 0 return self.succ(result)