-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspoiler.py
65 lines (55 loc) · 2.35 KB
/
spoiler.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# MIT License
#
# Copyright 2018 umbresp
#
# Permission is hereby granted, free of charge, to any
# person obtaining a copy of this software and
# associated documentation files (the "Software"), to
# deal in the Software without restriction, including
# without limitation the rights to use, copy, modify,
# merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom
# the Software is furnished to do so, subject to the
# following conditions:
#
# The above copyright notice and this permission notice
# shall be included in all copies or substantial portions
# of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
# ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
# TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
# SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
# spoiler.py
# Purpose: Marks posts with certain flair classes as Spoiler.
# Notes: This was made solely for /r/MysteryDungeon and
# has not been adapted for other subreddits, so it may
# have some bugs. Also, this is meant to be run with cron
# or something similar every 5 minutes or so.
# REMEMBER TO FILL OUT subreddit and spoiler_classes!
import praw
import requests
import configparser as ConfigParser
# Name of subreddit to perform spoiler marking on.
subreddit = "MysteryDungeon" # CASE SENSITIVE, don't include the /r/
# Flair classes that are considered spoilers.
spoiler_classes = ['All-spoilers', 'PMD1-spoilers', 'PMD2-spoilers', 'PMD3-spoilers', 'PMD4-spoilers']
config = ConfigParser.ConfigParser()
config.read('login.ini')
username = config.get('account', 'username')
password = config.get('account', 'password')
client_id = config.get('account', 'client id')
client_secret = config.get('account', 'client secret')
user_agent = f'{username} running spoiler.py'
r = praw.Reddit(client_id=client_id, client_secret=client_secret, password=password, user_agent=user_agent, username=username)
s = r.subreddit(subreddit)
for i in s.new(limit=1000):
if i.link_flair_css_class in spoiler_classes:
i.mod.spoiler()
print(i.title)
exit()