From e2b75d6cc519d5b9caacb497ea5264eb30dc9dfd Mon Sep 17 00:00:00 2001 From: Mickael Date: Tue, 3 Sep 2019 21:21:07 +0200 Subject: [PATCH] Accelerate daily stat --- scripts/generate_chat_stat_daily.py | 31 +++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/scripts/generate_chat_stat_daily.py b/scripts/generate_chat_stat_daily.py index 9b5bcc6..8b95cc4 100644 --- a/scripts/generate_chat_stat_daily.py +++ b/scripts/generate_chat_stat_daily.py @@ -13,10 +13,15 @@ from common.rocketchathelper import getAllChannels, getAllMessages, Connection from common.savehelper import save from common.charthelper import createElement, getColor, setTsunamyInfo, getTsunamy, Tsunami +begin = datetime.now() +end = datetime.now() + def main(): rocket = Connection() nbElements = 30 + global begin, end + labels = [None] * nbElements messagesByChannel = [] usersByChannel = [] @@ -54,20 +59,20 @@ def main(): dataUsers = [] print( channel['name'] ) begin = date - timedelta(nbElements) - end = begin + timedelta(1) + end = begin + timedelta(nbElements) tsunamy = getTsunamy(channel) + messages = getAllMessages(rocket, channel['_id'], begindate= begin, enddate= end) + end = begin + timedelta(1) + for id in range(0, nbElements): if uniqueUserGlobal[id] == None: uniqueUserGlobal[id] = [] labels[id] = begin.strftime("%x") print(f"\t{labels[id]}") - begindate = begin.isoformat() - enddate = end.isoformat() - - resultMess = getAllMessages(rocket, channel['_id'], begindate= begindate, enddate=enddate) - resultMess = list(filter(lambda mess: 't' not in mess, resultMess)) + + resultMess = list(filter(filter_message, messages)) length = len(resultMess) dataMess.append(length) @@ -101,5 +106,19 @@ def main(): save(info, "chat_stat_daily") +def filter_message(mess): + if 't' in mess: + return False + + date = datetime.strptime(mess["ts"], "%Y-%m-%dT%H:%M:%S.%fZ") + + if date < begin: + return False + + if end < date: + return False + + return True + if __name__ == "__main__": main() \ No newline at end of file