44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
|
import time
|
||
|
import requests
|
||
|
import praw
|
||
|
import os
|
||
|
import json
|
||
|
current_time = time.strftime("%H-%M-%S")
|
||
|
current_path = os.path.dirname(os.path.realpath(__file__))
|
||
|
|
||
|
subreddit_name = "r/memes"
|
||
|
|
||
|
nswf = False
|
||
|
|
||
|
def debugging_message(message : str):
|
||
|
print("["+current_time+"][DEBUG] "+message)
|
||
|
|
||
|
reddit = praw.Reddit(client_id="TB3qNrAO2cnRkpmI-Vd8hg",
|
||
|
client_secret="AO61coSKJ8O8KLlHAqP6W-nvufdgUw",
|
||
|
user_agent="Meme of the day"
|
||
|
)
|
||
|
|
||
|
with open(current_path+"/used-posts.json", "r") as used_posts_file:
|
||
|
used_posts = json.load(used_posts_file)
|
||
|
|
||
|
debugging_message("Getting a post from r/"+subreddit_name)
|
||
|
subreddit = reddit.subreddit(subreddit_name)
|
||
|
hot_post = subreddit.hot()
|
||
|
for post in hot_post:
|
||
|
try:
|
||
|
if post.id not in used_posts['ids']:
|
||
|
if post.url.endswith(".png") or post.url.endswith(".jpg"):
|
||
|
debugging_message("Found a new post: "+post.title+" ("+post.id+")")
|
||
|
print(post.url)
|
||
|
with open(current_path+"/used-posts.json", "w") as used_posts_file:
|
||
|
used_posts['ids'].append(post.id)
|
||
|
json.dump(used_posts, used_posts_file)
|
||
|
debugging_message("Saving post to file")
|
||
|
with open(current_path+'/wallpaper.png', "wb") as file:
|
||
|
file.write(requests.get(post.url).content)
|
||
|
debugging_message("Saving post to file done")
|
||
|
except:
|
||
|
debugging_message("Error while getting post skipping and continuing")
|
||
|
with open(current_path+"/used-posts.json", "w") as used_posts_file:
|
||
|
used_posts['ids'].append(post.id)
|
||
|
json.dump(used_posts, used_posts_file)
|