Check in whatever I changed in the meantime, obviously including a setup script
This commit is contained in:
parent
7af8c609d0
commit
ba55c7984e
2
csvdb.py
2
csvdb.py
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
import tools
|
import tools
|
||||||
|
|
||||||
import sqlite3, csv
|
import sqlite3, csv, sys
|
||||||
|
|
||||||
def makeDB(path=tools.dbpath()):
|
def makeDB(path=tools.dbpath()):
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -11,7 +11,7 @@ def getTweets(mode = "@", path = tools.dbpath()):
|
||||||
tweets = db.executeQuery("SELECT text FROM tweets")
|
tweets = db.executeQuery("SELECT text FROM tweets")
|
||||||
|
|
||||||
for tweet in tweets:
|
for tweet in tweets:
|
||||||
for word in tweet[0].split():
|
for word in tweet[0].lower().split():
|
||||||
if word[0] == mode or mode == "":
|
if word[0] == mode or mode == "":
|
||||||
if mode == "":
|
if mode == "":
|
||||||
handle = word
|
handle = word
|
||||||
|
|
75
setup.py
Executable file
75
setup.py
Executable file
|
@ -0,0 +1,75 @@
|
||||||
|
#!/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));")
|
||||||
|
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!")
|
13
tools.py
13
tools.py
|
@ -20,13 +20,13 @@ def cke():
|
||||||
try:
|
try:
|
||||||
return getSetting("Twitter", "cke")
|
return getSetting("Twitter", "cke")
|
||||||
except:
|
except:
|
||||||
return "V6ekVFYtavi6IvRFLS0dHifSh"
|
raise SetupException()
|
||||||
|
|
||||||
def cse():
|
def cse():
|
||||||
try:
|
try:
|
||||||
return getSetting("Twitter", "cse")
|
return getSetting("Twitter", "cse")
|
||||||
except:
|
except:
|
||||||
return "U2duSfBtW0Z8UQFoJyARf3jU80gdQ44EEqWqC82ebuGbIPN3t7"
|
raise SetupException()
|
||||||
|
|
||||||
def ato():
|
def ato():
|
||||||
try:
|
try:
|
||||||
|
@ -36,15 +36,12 @@ def ato():
|
||||||
|
|
||||||
def ase():
|
def ase():
|
||||||
try:
|
try:
|
||||||
return getSetting("Twitter", "ato")
|
return getSetting("Twitter", "ase")
|
||||||
except:
|
except:
|
||||||
raise SetupException()
|
raise SetupException()
|
||||||
|
|
||||||
def user():
|
def user():
|
||||||
try:
|
return twObject().whoami()
|
||||||
return twObject().whoami()
|
|
||||||
except:
|
|
||||||
raise SetupException()
|
|
||||||
|
|
||||||
|
|
||||||
class dbObject:
|
class dbObject:
|
||||||
|
@ -98,7 +95,7 @@ class twObject:
|
||||||
return tweets
|
return tweets
|
||||||
|
|
||||||
def whoami(self):
|
def whoami(self):
|
||||||
return self.api.me().screen_name
|
return self.auth.get_username()
|
||||||
|
|
||||||
|
|
||||||
def dbCheck(db, create = False):
|
def dbCheck(db, create = False):
|
||||||
|
|
Loading…
Reference in a new issue