-
Notifications
You must be signed in to change notification settings - Fork 1
/
reddit_bapcs.py
65 lines (46 loc) · 2.08 KB
/
reddit_bapcs.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
import praw
class RedditBAPCS:
redditInstance = None
subredditInstance = None
submissions = None
# Keywords/Categories Lists -
listing_seek = ["GTX1080", "I7-7700K"]
# Available Categories Include - GPU,CPU,PSU,RAM,HDD,SSD,MOBO,COOLER,KEYBOARD,MOUSE,MONITOR,CASE,LAPTOP,HEADPHONES,FAN,WEBCAM,ETC...
listing_category = ["GPU", "CPU", "PSU"]
# Optional Parameters -
allow_stream = True #DEFAULT True
search_limit = 1024 #DEFAULT 1024
def __init__(self):
print("RedditBAPCS Initialized!")
self.redditInstance = praw.Reddit('bot1')
self.subredditInstance = self.redditInstance.subreddit("buildapcsales")
print("Current User: %s" % self.redditInstance.user.me())
def main(self):
self.scan_submissions()
def scan_submissions(self):
print("Historical Scan Starting!")
self.submissions = list(self.subredditInstance.new(limit=self.search_limit))
for submission in self.submissions:
flair = submission.link_flair_text
if flair:
if any(x in flair for x in self.listing_category):
if any(x in str.upper(submission.title) for x in self.listing_seek):
self.print_listing(submission)
if self.allow_stream:
self.stream_scan_submissions()
print("Historical Scan Complete!")
def stream_scan_submissions(self):
print("Realtime Scan Starting!")
for submission in self.subredditInstance.stream.submissions():
flair = submission.link_flair_text
if flair:
if any(x in flair for x in self.listing_category):
if any(x in str.upper(submission.title) for x in self.listing_seek):
self.print_listing(submission)
print("Realtime Scan Complete!")
@staticmethod
def print_listing(listing):
print("\nListing: %s \nCategory: %s \nLink: %s\n" % (listing.title, listing.link_flair_text, listing.url))
if __name__ == "__main__":
redditBCAPS = RedditBAPCS()
redditBCAPS.main()