in otava/slack.py [0:0]
def __dates_change_points_summary(self, test_changes: Dict[str, ChangePointGroup]):
fields = []
for test_name, group in test_changes.items():
fields.append(f"*{test_name}*")
summary = ""
for change in group.changes:
change_percent = change.forward_change_percent()
change_emoji = self.__get_change_emoji(test_name, change)
if isinf(change_percent):
report_percent = change_percent
# Avoid rounding decimal change points to zero
elif -5 < change_percent < 5:
report_percent = f"{change_percent:.1f}"
else:
report_percent = round(change_percent)
summary += f"{change_emoji} *{change.metric}*: {report_percent}%\n"
fields.append(summary)
sections = []
i = 0
while i < len(fields):
section_fields = []
while len(section_fields) < 10 and i < len(fields):
section_fields.append(fields[i])
i += 1
sections.append(self.__fields_section(section_fields))
return sections