Advertisement
Guest User

Untitled

a guest
Oct 10th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.23 KB | None | 0 0
  1. import praw
  2. from prettytable import PrettyTable
  3.  
  4.  
  5. with open("credentials.txt", "r") as f:
  6.     DF = f.read().splitlines()
  7.  
  8.  
  9. REDDIT = praw.Reddit(client_id=DF[0],
  10.                      client_secret=DF[1],
  11.                      user_agent="python script",
  12.                      username=DF[2],
  13.                      password=DF[3]
  14.                     )
  15.  
  16. # assumes DT is pinned post on the sub
  17. dt = [x.id for x in REDDIT.subreddit('neoliberal').hot(limit=1)][0]
  18. submission = REDDIT.submission(id=dt)
  19. com_count = dict()
  20. submission.comments.replace_more(limit=None)
  21.  
  22. for comment in submission.comments.list():
  23.     try:
  24.         tmp = comment.author.name
  25.         score = comment.score
  26.         if tmp not in com_count:
  27.             com_count[tmp] = [1, score]
  28.         else:
  29.             old_count, old_score = com_count[tmp]
  30.             com_count[tmp] = [old_count + 1, old_score + score]
  31.     except Exception:
  32.         pass
  33.  
  34. sorted_users = sorted(com_count.items(), key=lambda i: i[1][0], reverse=True)
  35.  
  36. t = PrettyTable(['Name', 'Postcount', 'Karma', 'Karma/Post'])
  37. for key, value in sorted_users:
  38.     kp = 0 if value[1] == 0 else float(value[1]/value[0])
  39.     t.add_row([key, value[0], value[1], '{0:2.2f}'.format(kp)])
  40.    
  41. print(t)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement