From a1b2329a9be2770f6e345dd09db7680864b11364 Mon Sep 17 00:00:00 2001 From: Mokaddem Date: Mon, 1 Aug 2016 10:32:24 +0200 Subject: [PATCH] Fixed bug in case of null elements arrising because of a new month --- bin/ModuleStats.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/bin/ModuleStats.py b/bin/ModuleStats.py index fee29d91..36812dcd 100755 --- a/bin/ModuleStats.py +++ b/bin/ModuleStats.py @@ -93,6 +93,7 @@ def compute_provider_info(server, path): else: ok = server.hset(paste_provider+'_num', paste_date, 1) + prev_num_paste = 0 # # Compute Most Posted @@ -129,14 +130,17 @@ def compute_provider_info(server, path): #Check value for all members member_set = [] for provider in server.smembers(redis_providers_name_set): + curr_num = 0 curr_num = server.hget(provider+'_num', paste_date) - member_set.append((provider, int(curr_num))) + if curr_num is not None: + member_set.append((provider, int(curr_num))) member_set.sort(key=lambda tup: tup[1]) - if member_set[0][1] < int(prev_num_paste)+1: - #remove min from set and add the new one - print 'Num - adding ' +paste_provider+ '(' +str(int(prev_num_paste)+1)+') in set and removing '+member_set[0][0]+'('+str(member_set[0][1])+')' - server.srem(redis_providers_name_set, member_set[0][0]) - server.sadd(redis_providers_name_set, paste_provider) + if len(member_set) > 0: + if member_set[0][1] < int(prev_num_paste)+1: + #remove min from set and add the new one + print 'Num - adding ' +paste_provider+ '(' +str(int(prev_num_paste)+1)+') in set and removing '+member_set[0][0]+'('+str(member_set[0][1])+')' + server.srem(redis_providers_name_set, member_set[0][0]) + server.sadd(redis_providers_name_set, paste_provider) if __name__ == '__main__': # If you wish to use an other port of channel, do not forget to run a subscriber accordingly (see launch_logs.sh)