Advertisement
Guest User

Untitled

a guest
May 14th, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. from __future__ import division, print_function
  2. from ConfigParser import SafeConfigParser
  3. from datetime import datetime
  4. from HTMLParser import HTMLParser
  5. from praw import Reddit
  6. import time
  7. import re
  8.  
  9.  
  10.  
  11. while True:
  12. def compute_time_ago_params(target):
  13. countdown_delta = target - datetime.now()
  14. days = countdown_delta.days
  15. hours = countdown_delta.seconds // 3600
  16. minutes = (countdown_delta.seconds - (hours * 3600)) // 60
  17. seconds = (countdown_delta.seconds - (hours * 3600) - (minutes * 60))
  18.  
  19. return {
  20. 'days': days,
  21. 'hours': hours,
  22. 'minutes': minutes,
  23. 'seconds': seconds
  24. }
  25.  
  26. def update_countdown(username, password, subreddit_name, target):
  27. user_agent = '/r/{0} countdown bot'.format(subreddit_name)
  28. reddit = Reddit(user_agent)
  29. reddit.login(username, password)
  30.  
  31. subreddit = reddit.get_subreddit(subreddit_name)
  32. settings = subreddit.get_settings()
  33. description = HTMLParser().unescape(settings['description'])
  34.  
  35. for key, value in compute_time_ago_params(target).iteritems():
  36. pattern = "\\[[^\\]]*\\]\\(#{0}\\)".format(key) # replace [<anything>](#<key>)
  37. repl = "[{0}](#{1})".format(value, key) # with [<value>](#<key>)
  38. description = re.sub(pattern, repl, description)
  39.  
  40. print(description)
  41. subreddit.update_settings(description=description)
  42.  
  43. if __name__ == '__main__':
  44. config_parser = SafeConfigParser()
  45. config_parser.read('countdown.cfg')
  46.  
  47. target = config_parser.get('reddit', 'target')
  48. target_datetime = datetime.strptime(target, '%B %d %Y %H:%M:%S')
  49.  
  50. update_countdown(username=config_parser.get('reddit', 'username'),
  51. password=config_parser.get('reddit', 'password'),
  52. subreddit_name=config_parser.get('reddit', 'subreddit'),
  53. target=target_datetime)
  54.  
  55. time.sleep(60)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement