shift emoji only users into separate list

This commit is contained in:
Bhupesh-V 2024-01-04 16:33:09 +05:30
parent dd08a66b5d
commit 97adb8a6e8

View File

@ -25,16 +25,33 @@ subreddit = reddit.subreddit(sub)
flair_count = defaultdict(int) flair_count = defaultdict(int)
# Iterate over all the flairs # Iterate over all the flairs
emoji_flair_count = 0
emoji_flair_users = []
for flair in subreddit.flair(limit=None): for flair in subreddit.flair(limit=None):
flair_count[flair['flair_text']] += 1 f = flair['flair_text'].strip()
if f.startswith(":") and f.endswith(":"):
emoji_flair_count += 1
emoji_flair_users.append(
dict(
user=flair['user'],
flair_text=f
)
)
else:
flair_count[flair['flair_text'].strip()] += 1
# Convert the dictionary to a list of tuples and sort it by the count # Convert the dictionary to a list of tuples and sort it by the count
sorted_flairs = sorted(flair_count.items(), key=lambda x: x[1], reverse=True) sorted_flairs = sorted(flair_count.items(), key=lambda x: x[1], reverse=True)
# Print the sorted list of flairs and their counts # # Print the sorted list of flairs and their counts
for flair, count in sorted_flairs: # for flair, count in sorted_flairs:
print(f"Flair: {flair}, Count: {count}") # print(f"Flair: {flair}, Count: {count}")
for user in emoji_flair_users:
print(user)
# Calculate and print the total count of all flairs # Calculate and print the total count of all flairs
total_count = sum(flair_count.values()) total_count = sum(flair_count.values())
print(f"Total count of all flairs: {total_count}") print(f"Total count of non-emoji flairs: {total_count}")
print(f"Total count of emoji only flairs: {emoji_flair_count}")
print(f"Total count of user-flairs: {total_count + emoji_flair_count}")