Advertisement
Packerfan504

Python Code

Aug 24th, 2018
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.25 KB | None | 0 0
  1. import sqlite3
  2. import praw
  3. import sys
  4. import datetime
  5.  
  6.  
  7. def create_connection(db_file):
  8.     """ create a database connection to the SQLite database
  9.        specified by db_file
  10.    :param db_file: database file
  11.    :return: Connection object or None
  12.    """
  13.     try:
  14.         conn = sqlite3.connect(db_file)
  15.         return conn
  16.     except Error as e:
  17.         print(e)
  18.  
  19.     return None
  20.  
  21.  
  22. def create_risk(conn, risk):
  23.     """
  24.    Create a new project into the projects table
  25.    :param conn:
  26.    :param risk:
  27.    :return: risk id
  28.    """
  29.     sql = ''' INSERT INTO risk(username, primaryFlair, secondaryFlair, timeStamp)
  30.              VALUES(?,?,?,?) '''
  31.     cur = conn.cursor()
  32.     cur.execute(sql, risk)
  33.     conn.commit()
  34.     return cur.lastrowid
  35.  
  36.  
  37. def flair_splitter(string):
  38.     test = 0
  39.     while test < len(string):
  40.         if string[test] == " " and string[test+1] == "/" and string[test+2] == " ":
  41.             returnList = [string[0:test], string[test+3:len(string)]]
  42.             return returnList
  43.         test += 1
  44.     returnList = [string, ""]
  45.     return returnList
  46.  
  47.  
  48. def main():
  49.     database = "C://sqlite/db/risk1.db"
  50.     r = praw.Reddit(client_id="redacted",
  51.                     client_secret="redacted",
  52.                     user_agent="redacted",
  53.                     password="redacted",
  54.                     username="redacted")
  55.  
  56.     # create a database connection
  57.     conn = create_connection(database)
  58.     with conn:
  59.         subreddit = r.subreddit('learnpython')
  60.         curr = conn.cursor()
  61.         for comment in subreddit.stream.comments():
  62.             flair = flair_splitter(str(comment.author_flair_text))
  63.             curr.execute("SELECT username FROM risk WHERE username= ? AND primaryFlair= ?  AND secondaryFlair = ? LIMIT 1 ", (str(comment.author.name), flair[0], flair[1]))
  64.             if curr.fetchone() is None:
  65.                 if flair[0] == "None":
  66.                     risk = (str(comment.author.name), flair[1], flair[1], datetime.datetime.now())
  67.                     create_risk(conn, risk)
  68.                 else:
  69.                     risk = (str(comment.author.name), flair[0], flair[1],  datetime.datetime.now())
  70.                     create_risk(conn, risk)
  71.  
  72.  
  73.  
  74.  
  75. if __name__ == '__main__':
  76.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement