From 0bb1574ebd61f5aeb7bc9b25951b9ae98989ff0a Mon Sep 17 00:00:00 2001 From: Luke Rogers Date: Fri, 29 Nov 2013 16:35:41 +1300 Subject: [PATCH] plurals and fanciness --- plugins/youtube.py | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/plugins/youtube.py b/plugins/youtube.py index 08dcc24..3097614 100755 --- a/plugins/youtube.py +++ b/plugins/youtube.py @@ -13,6 +13,10 @@ search_api_url = base_url + 'videos?v=2&alt=jsonc&max-results=1' video_url = "http://youtu.be/%s" +def plural(num=0, text=''): + return "%d %s%s" % (num, text, "s"[num==1:]) + + def get_video_description(video_id): request = http.get_json(api_url.format(video_id)) @@ -35,12 +39,11 @@ def get_video_description(video_id): out += "%ds\x02" % (length % 60) if 'ratingCount' in data: - ratings = data['ratingCount'] - likes = int(data['likeCount']) - dislikes = ratings - likes + likes = plural(int(data['likeCount']), "like") + dislikes = plural(data['ratingCount'] - int(data['likeCount']), "dislike") - percent = 100 * float(likes)/float(ratings) - out += ' - {} likes, {} dislikes (\x02{:.1f}\x02%)'.format(likes, + percent = 100 * float(data['likeCount'])/float(data['ratingCount']) + out += ' - {}, {} (\x02{:.1f}\x02%)'.format(likes, dislikes, percent) if 'viewCount' in data: @@ -61,16 +64,6 @@ def get_video_description(video_id): return out -def GetInHMS(seconds): - hours = seconds / 3600 - seconds -= 3600 * hours - minutes = seconds / 60 - seconds -= 60 * minutes - if hours == 0: - return "%02d:%02d" % (minutes, seconds) - return "%02d:%02d:%02d" % (hours, minutes, seconds) - - @hook.regex(*youtube_re) def youtube_url(match): return get_video_description(match.group(1))