twitools/setup.py
2016-12-06 21:49:13 +01:00

77 lines
2.2 KiB
Python
Executable file

#!/usr/bin/env python3
import configparser, os.path, sqlite3, tweepy
if os.path.isfile("config.cfg"):
print("config.cfg already exists. Please remove it before running this script.")
exit(1)
config = configparser.RawConfigParser()
config.add_section('Database')
print('''Twitools will use a database for certain tasks. If this file does not exist yet,
it will be created in this process. The file name defaults to 'Database.db'.
''')
dbpath = input("Name of the database file [Database.db]: ")
print()
if dbpath == "":
dbpath = "Database.db"
config.set('Database', 'path', dbpath)
if os.path.isfile(dbpath):
pass
else:
conn = sqlite3.connect(dbpath)
cur = conn.cursor()
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));")
cur.execute("CREATE TABLE IF NOT EXISTS retweets(id INT PRIMARY KEY, author VARCHAR(30), created_at VARCHAR(30), text TEXT);")
conn.commit()
conn.close()
config.add_section("Twitter")
cke = "V6ekVFYtavi6IvRFLS0dHifSh"
cse = "U2duSfBtW0Z8UQFoJyARf3jU80gdQ44EEqWqC82ebuGbIPN3t7"
config.set("Twitter", "cke", cke)
config.set("Twitter", "cse", cse)
auth = tweepy.OAuthHandler(cke, cse)
try:
authurl = auth.get_authorization_url()
except tweepy.TweepError:
print("Error getting request token. Please try again later...")
exit(1)
print('''In the next step, we'll get you connected to Twitter. Please follow this link,
sign on to Twitter and copy the PIN you will get there. Insert it below, then
press Enter to continue.
''')
print(authurl)
print()
pin = input("PIN: ")
print()
try:
auth.get_access_token(pin)
except tweepy.TweepError:
print("Error getting access token. Please try again later...")
exit(1)
config.set("Twitter", "ato", auth.access_token)
config.set("Twitter", "ase", auth.access_token_secret)
print("Seems like everything worked out fine. Let's write that config file...")
with open('config.cfg', 'wt') as cfg:
config.write(cfg)
print("We're all done. You can now use Twitools. Have fun!")