diff --git a/csvdb.py b/csvdb.py index c3585f8..41781b8 100755 --- a/csvdb.py +++ b/csvdb.py @@ -1,10 +1,10 @@ #!/usr/bin/env python3 -import tools +import dbtools import sqlite3, csv, sys -def makeDB(path=tools.dbpath(), infile='tweets.csv'): +def makeDB(dbo=dbtools.dbObject(), infile='tweets.csv'): try: infile = open(infile) except IOError: @@ -12,18 +12,15 @@ def makeDB(path=tools.dbpath(), infile='tweets.csv'): input = list(csv.reader(infile)) - conn = sqlite3.connect(path) - cur = conn.cursor() - try: - cur.execute("CREATE TABLE tweets(`tweet_id` INTEGER NOT NULL, `in_reply_to_status_id` TEXT, `in_reply_to_user_id` TEXT, `timestamp` TEXT, `source` TEXT, `text` TEXT, `retweeted_status_id` TEXT, `retweeted_status_user_id` TEXT, `retweeted_status_timestamp` TEXT, `expanded_urls` TEXT, PRIMARY KEY(tweet_id));") - except sqlite3.OperationalError: + dbo.executeQuery("CREATE TABLE tweets(`tweet_id` INTEGER NOT NULL, `in_reply_to_status_id` TEXT, `in_reply_to_user_id` TEXT, `timestamp` TEXT, `source` TEXT, `text` TEXT, `retweeted_status_id` TEXT, `retweeted_status_user_id` TEXT, `retweeted_status_timestamp` TEXT, `expanded_urls` TEXT, PRIMARY KEY(tweet_id));") + except: raise IOError("%s already exists. Please delete it before trying to create a new one." % path) for row in input[1:]: - cur.execute("INSERT INTO tweets VALUES(" + row[0].replace("'","''") + ",'" + row[1].replace("'","''") + "','" + row[2].replace("'","''") + "','" + row[3].replace("'","''") + "','" + row[4].replace("'","''") + "','" + row[5].replace("'","''") + "','" + row[6].replace("'","''") + "','" + row[7].replace("'","''") + "','" + row[8].replace("'","''") + "','" + row[9].replace("'","''") + "');") + dbo.executeQuery("INSERT INTO tweets VALUES(" + row[0].replace("'","''") + ",'" + row[1].replace("'","''") + "','" + row[2].replace("'","''") + "','" + row[3].replace("'","''") + "','" + row[4].replace("'","''") + "','" + row[5].replace("'","''") + "','" + row[6].replace("'","''") + "','" + row[7].replace("'","''") + "','" + row[8].replace("'","''") + "','" + row[9].replace("'","''") + "');") - conn.commit() + dbo.commit() if __name__ == "__main__": if len(sys.argv) > 2: