Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. import praw
  2. import ctypes
  3. import random
  4. import re
  5. import requests
  6. import os
  7. from PIL import Image
  8. import time
  9.  
  10. # CONSTANTS
  11. user32 = ctypes.windll.user32
  12. sub = 'photoshopbattles'
  13. SPI_SETDESKWALLPAPER = 0x14 #which command (20)
  14. SPIF_UPDATEINIFILE = 0x0
  15. attempts = 0
  16. jpgsrc = 'wallpaper.jpg'
  17. pngsrc = 'wallpaper.png'
  18. abspath = os.getcwd()
  19. jpg_fp = os.path.join(abspath , jpgsrc)
  20. png_fp = os.path.join(abspath, pngsrc)
  21.  
  22.  
  23. reddit = praw.Reddit(user_agent='Desktop Changer (by /u/claythearc)',
  24. client_id=os.environ['REDDIT_ID'],
  25. client_secret=os.environ['REDDIT_SECRET'])
  26.  
  27.  
  28. def parse_imgur_url(url):
  29. return re.search(r'(https?\://(.*)imgur\.com/[^\)]+)', url).group(1)
  30.  
  31.  
  32. post = reddit.subreddit(sub).random()
  33.  
  34. if __name__ == "__main__":
  35. post = reddit.subreddit(sub).random()
  36. while True:
  37. if attempts > 5:
  38. attempts = 0
  39. post = reddit.subreddit(sub).random()
  40. rand_comment = random.choice(post.comments.list())
  41. try:
  42. if 'imgur' in rand_comment.body:
  43. attempts += 1
  44. url = parse_imgur_url(rand_comment.body)
  45. if url.endswith('jpg'):
  46. r = requests.get(url)
  47. else:
  48. r = requests.get(url + '.jpg')
  49. with open(jpgsrc, "wb") as f:
  50. f.write(r.content)
  51. if os.path.getsize(jpg_fp) > 2000:
  52. try:
  53. Image.open(jpg_fp).save(png_fp)
  54. except Exception as e:
  55. continue
  56. ctypes.windll.user32.SystemParametersInfoW(SPI_SETDESKWALLPAPER, 1, png_fp, SPIF_UPDATEINIFILE)
  57. time.sleep(60)
  58. else:
  59. attempts += 1
  60. continue
  61. break
  62. if 'that are not a photoshop' in rand_comment.body:
  63. attempts += 1
  64. except Exception as e:
  65. print(url)
  66. print(e.args)
  67. attempts += 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement