def getAllGroupUsersReverse(groupId, msgs=None): if (msgs is None): msgs = messages.getAllGroupMessages(groupId) userDictionary = {} for message in msgs: if (message['user_id'] not in userDictionary.keys()): userDictionary[message['user_id']] = message['name'] return userDictionary
def getAllUsersFavoritedByCount(groupId, msgs=None, groupUserDictionary=None): if (msgs is None): msgs = messages.getAllGroupMessages(groupId) if (groupUserDictionary is None): groupUserDictionary = getAllGroupUsers(groupId, msgs) favoritedByCounts = {} for user in groupUserDictionary: favoritedByCounts[groupUserDictionary[user]] = getUserFavoritedBy( groupId, user, msgs) return favoritedByCounts
def getUserFavoritedBy(groupId, userId, msgs=None): if (msgs is None): msgs = messages.getAllGroupMessages(groupId) groupUserDictionary = getAllGroupUsers(groupId, msgs) favoritedByCounts = {} for message in msgs: if message['user_id'] == userId: for favoriter in message['favorited_by']: if (groupUserDictionary[favoriter] not in favoritedByCounts.keys()): favoritedByCounts[groupUserDictionary[favoriter]] = 0 favoritedByCounts[groupUserDictionary[favoriter]] += 1 return favoritedByCounts
def getFavoritesGivenCountbyUser(groupId, msgs=None, groupUserDictionary=None): if (msgs is None): msgs = messages.getAllGroupMessages(groupId) if (groupUserDictionary is None): groupUserDictionary = getAllGroupUsers(groupId, msgs) favoritesGivenCounts = {} for message in msgs: for favoriter in message['favorited_by']: if (groupUserDictionary[favoriter] not in favoritesGivenCounts.keys()): favoritesGivenCounts[groupUserDictionary[favoriter]] = 0 favoritesGivenCounts[groupUserDictionary[favoriter]] += 1 return favoritesGivenCounts
def getFavoritedCountByUser(groupId, msgs=None, groupUserDictionary=None): if (msgs is None): msgs = messages.getAllGroupMessages(groupId) if (groupUserDictionary is None): groupUserDictionary = getAllGroupUsers(groupId, msgs) favoriteCounts = {} for message in msgs: if (groupUserDictionary[message['user_id']] not in favoriteCounts.keys()): favoriteCounts[groupUserDictionary[message['user_id']]] = 0 favoriteCounts[groupUserDictionary[message['user_id']]] += len( message['favorited_by']) return favoriteCounts
def getMostFavoritedMessages(groupId, numberOfTopMessages, msgs=None, groupUserDictionary=None): if (msgs is None): msgs = messages.getAllGroupMessages(groupId) if (groupUserDictionary is None): groupUserDictionary = getAllGroupUsers(groupId, msgs) # test2 = len(msgs[0]['favorited_by']) mostFavoritedMessages = sorted(msgs, key=lambda x: len(x['favorited_by']), reverse=True)[:numberOfTopMessages] return mostFavoritedMessages
def getSelfFavoritedCountByUser(groupId, msgs=None, groupUserDictionary=None): if (msgs is None): msgs = messages.getAllGroupMessages(groupId) if (groupUserDictionary is None): groupUserDictionary = getAllGroupUsers(groupId, msgs) selfFavoritesCounts = {} for message in msgs: for favoriter in message['favorited_by']: if (groupUserDictionary[favoriter] not in selfFavoritesCounts.keys()): selfFavoritesCounts[groupUserDictionary[favoriter]] = 0 if (message['user_id'] == favoriter): selfFavoritesCounts[groupUserDictionary[favoriter]] += 1 return selfFavoritesCounts
def getMessageCountPerUser(groupId, msgs=None, groupUserDictionary=None): if (msgs is None): msgs = messages.getAllGroupMessages(groupId) if (groupUserDictionary is None): groupUserDictionary = getAllGroupUsers(groupId, msgs) messageCounts = {} for message in msgs: if (message['user_id'] not in messageCounts.keys()): messageCounts[message['user_id']] = 0 messageCounts[message['user_id']] += 1 messageCountsByName = {} for key in messageCounts.keys(): messageCountsByName[groupUserDictionary[key]] = messageCounts[key] return messageCountsByName
# the issue is that Doug, Nixon, and possibly others had their first message labeled as "groupme" so if they don't have a unique name even if they do have a unique user id's def getMessageCountPerUser(groupId, msgs=None, groupUserDictionary=None): if (msgs is None): msgs = messages.getAllGroupMessages(groupId) if (groupUserDictionary is None): groupUserDictionary = getAllGroupUsers(groupId, msgs) messageCounts = {} for message in msgs: if (message['user_id'] not in messageCounts.keys()): messageCounts[message['user_id']] = 0 messageCounts[message['user_id']] += 1 messageCountsByName = {} for key in messageCounts.keys(): messageCountsByName[groupUserDictionary[key]] = messageCounts[key] return messageCountsByName msgs = messages.getAllGroupMessages(4501211) #users = getAllGroupUsersReverse(4501211, msgs) print(getMostFavoritedMessages(4501211, 10, msgs)) #, users) #(13104384) SPORTS #(30425709) Brewgaloo #(5954413) WPFL #(4501211) Cary Krewe (OG) #(18020667) Blue's Krewe #('17421009') chapla user id