[yocto] [[AUH] 16/17] statistics: Improve email format and get_summary method.
Aníbal Limón
anibal.limon at linux.intel.com
Wed Nov 25 16:00:45 PST 2015
Signed-off-by: Aníbal Limón <anibal.limon at linux.intel.com>
---
modules/statistics.py | 24 ++++++++++++++----------
upgradehelper.py | 11 +++++------
2 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/modules/statistics.py b/modules/statistics.py
index 32a6748..905a4cc 100644
--- a/modules/statistics.py
+++ b/modules/statistics.py
@@ -62,16 +62,15 @@ class Statistics(object):
self.total_attempted += 1
- def pkg_stats(self):
- stat_msg = "\nUpgrade statistics:\n"
- stat_msg += "====================================================\n"
+ def _pkg_stats(self):
+ stat_msg = "Recipe upgrade statistics:\n\n"
for status in self.upgrade_stats:
list_len = len(self.upgrade_stats[status])
if list_len > 0:
- stat_msg += "* " + status + ": " + str(list_len) + "\n"
+ stat_msg += " * " + status + ": " + str(list_len) + "\n"
for pkg, new_ver, maintainer in self.upgrade_stats[status]:
- stat_msg += " " + pkg + ", " + new_ver + ", " + \
+ stat_msg += " " + pkg + ", " + new_ver + ", " + \
maintainer + "\n"
if self.total_attempted == 0:
@@ -80,8 +79,7 @@ class Statistics(object):
else:
percent_succeded = self.succeeded["total"] * 100.0 / self.total_attempted
percent_failed = self.failed["total"] * 100.0 / self.total_attempted
- stat_msg += "++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
- stat_msg += "TOTAL: attempted=%d succeeded=%d(%.2f%%) failed=%d(%.2f%%)\n\n" % \
+ stat_msg += "\n TOTAL: attempted=%d succeeded=%d(%.2f%%) failed=%d(%.2f%%)\n\n" % \
(self.total_attempted, self.succeeded["total"],
percent_succeded,
self.failed["total"],
@@ -89,14 +87,20 @@ class Statistics(object):
return stat_msg
- def maintainer_stats(self):
- stat_msg = "* Statistics per maintainer:\n"
+ def _maintainer_stats(self):
+ stat_msg = "Recipe upgrade statistics per Maintainer:\n\n"
for m in self.maintainers:
attempted = self.succeeded[m] + self.failed[m]
- stat_msg += " %s: attempted=%d succeeded=%d(%.2f%%) failed=%d(%.2f%%)\n\n" % \
+ stat_msg += " %s: attempted=%d succeeded=%d(%.2f%%) failed=%d(%.2f%%)\n" % \
(m.split("@")[0], attempted, self.succeeded[m],
self.succeeded[m] * 100.0 / attempted,
self.failed[m],
self.failed[m] * 100.0 / attempted)
return stat_msg
+
+ def get_summary(self):
+ msg = self._pkg_stats()
+ msg += self._maintainer_stats()
+
+ return msg
diff --git a/upgradehelper.py b/upgradehelper.py
index f9d915a..d0e1439 100755
--- a/upgradehelper.py
+++ b/upgradehelper.py
@@ -395,14 +395,14 @@ class Updater(object):
def send_status_mail(self):
if "status_recipients" not in settings:
- E("Could not send status email, no recipients set!")
+ E(" Could not send status email, no recipients set!")
return -1
to_list = settings["status_recipients"].split()
subject = "[AUH] Upgrade status: " + date.isoformat(date.today())
- msg = self.statistics.pkg_stats() + self.statistics.maintainer_stats()
+ msg = self.statistics.get_summary()
if self.statistics.total_attempted:
self.email_handler.send_email(to_list, subject, msg)
@@ -610,16 +610,15 @@ class Updater(object):
pkg_ctx = pkgs_ctx[pn]
self.pkg_upgrade_handler(pkg_ctx)
- if attempted_pkgs > 1:
- statistics_summary = self.statistics.pkg_stats() + \
- self.statistics.maintainer_stats()
+ if attempted_pkgs > 0:
+ statistics_summary = self.statistics.get_summary()
statistics_file = os.path.join(self.uh_work_dir,
"statistics_summary")
with open(statistics_file, "w+") as f:
f.write(statistics_summary)
- I("%s" % statistics_summary)
+ I(" %s" % statistics_summary)
if self.opts['send_email']:
self.send_status_mail()
--
2.1.4
More information about the yocto
mailing list