Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sqlite3
- import praw
- import sys
- import datetime
- def create_connection(db_file):
- """ create a database connection to the SQLite database
- specified by db_file
- :param db_file: database file
- :return: Connection object or None
- """
- try:
- conn = sqlite3.connect(db_file)
- return conn
- except Error as e:
- print(e)
- return None
- def create_risk(conn, risk):
- """
- Create a new project into the projects table
- :param conn:
- :param risk:
- :return: risk id
- """
- sql = ''' INSERT INTO risk(username, primaryFlair, secondaryFlair, timeStamp)
- VALUES(?,?,?,?) '''
- cur = conn.cursor()
- cur.execute(sql, risk)
- conn.commit()
- return cur.lastrowid
- def flair_splitter(string):
- test = 0
- while test < len(string):
- if string[test] == " " and string[test+1] == "/" and string[test+2] == " ":
- returnList = [string[0:test], string[test+3:len(string)]]
- return returnList
- test += 1
- returnList = [string, ""]
- return returnList
- def main():
- database = "C://sqlite/db/risk1.db"
- r = praw.Reddit(client_id="redacted",
- client_secret="redacted",
- user_agent="redacted",
- password="redacted",
- username="redacted")
- # create a database connection
- conn = create_connection(database)
- with conn:
- subreddit = r.subreddit('learnpython')
- curr = conn.cursor()
- for comment in subreddit.stream.comments():
- flair = flair_splitter(str(comment.author_flair_text))
- curr.execute("SELECT username FROM risk WHERE username= ? AND primaryFlair= ? AND secondaryFlair = ? LIMIT 1 ", (str(comment.author.name), flair[0], flair[1]))
- if curr.fetchone() is None:
- if flair[0] == "None":
- risk = (str(comment.author.name), flair[1], flair[1], datetime.datetime.now())
- create_risk(conn, risk)
- else:
- risk = (str(comment.author.name), flair[0], flair[1], datetime.datetime.now())
- create_risk(conn, risk)
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement