From: Jiri Vlasak Date: Mon, 25 Mar 2019 14:12:39 +0000 (+0100) Subject: Fix inequalities of drinkers in output X-Git-Tag: v0.2.0~3^2~1 X-Git-Url: http://rtime.felk.cvut.cz/gitweb/hubacji1/coffee-getter.git/commitdiff_plain/3d86aadf66e0542c7a9a92a7bf9d891c7507ae03?ds=sidebyside Fix inequalities of drinkers in output --- diff --git a/cbgetter.py b/cbgetter.py index c02c11c..aa4ab28 100644 --- a/cbgetter.py +++ b/cbgetter.py @@ -70,16 +70,32 @@ class CoffeebotGetter: """Get list of top Mate drinkers, update message.""" self.msg = "*Top 5 Club-Mate drinkers*\n" self.top = self.db.getTopMateDrinkers() + self.computeEqualDrinkers() totl = [c for (un, c) in self.top] tot = sum(totl) isuff = {1: "st", 2: "nd", 3: "rd", 4: "th", 5: "th"} i = 1 - for (un, c) in self.top[:5]: - self.msg += "{}{} is *{}* who drank `{:.2f}` liters".format( - i, isuff[i], - un, - c - ) + for drinkers in self.topeq[:5]: + c = drinkers[0][1] + d = [un for (un, c) in drinkers] + self.msg += "{}{}".format(i, isuff[i]) + if len(d) > 1: + self.msg += " are " + else: + self.msg += " is " + for un in d: + if un is d[0]: + self.msg += "*{}*".format(un) + elif un is d[-1]: + self.msg += "" if len(d) == 2 else "," + self.msg += " and *{}*".format(un) + else: + self.msg += ", *{}*".format(un) + if len(d) > 1: + self.msg += " of whom each drank " + else: + self.msg += " who drank " + self.msg += "`{:.2f}` liters".format(c) if i == 1: self.msg += self.getHeroComment() self.msg += "\n"