Skip to content

Instantly share code, notes, and snippets.

@fakedrake
Created May 17, 2019 14:55
Show Gist options
  • Save fakedrake/3799ade82106b6e0c3655c2d622fe9bb to your computer and use it in GitHub Desktop.
Save fakedrake/3799ade82106b6e0c3655c2d622fe9bb to your computer and use it in GitHub Desktop.
#!/usr/bin/python
import calendar
import feedparser
import praw
reddit = praw.Reddit(client_secret='-6308pLSnW6UWs1Fw_tccXU2ADA',
client_id='alVYh7xBmsCVqA',
user_agent='my user agent',
username='konservokouti',
password='den-ein-touto-to-password')
def update_subreddit(feed_url, sub_name, post_all=False):
feed = feedparser.parse(feed_url)
feed_entries = feed['entries']
sub_obj = reddit.subreddit(sub_name)
last_entry_time = get_timestamp(next(sub_obj.new()))
for e in reversed(feed['entries']):
if get_timestamp(e) > last_entry_time or post_all:
submit_feed_entry(e, sub_obj)
def submit_feed_entry(entry, subreddit):
print ("Posting: ", entry['title'])
subreddit.submit(title=entry['title'], url=entry['link'])
def get_timestamp(entry):
if isinstance(entry, praw.models.reddit.submission.Submission):
return entry.created
if (isinstance(entry, feedparser.FeedParserDict)
and 'published_parsed' in entry.keys()):
return calendar.timegm(entry['published_parsed'])
return None
if __name__ == '__main__':
update_subreddit('https://www.902.gr/feed/recent', '902gr')
update_subreddit('https://athens.indymedia.org/feed/', 'athensindymedia')
update_subreddit('http://www.katiousa.gr/feed/', 'katiousagr')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment