From eea21053924f6b275b995487064ba176dac093e3 Mon Sep 17 00:00:00 2001 From: Thomas Chen Date: Sun, 26 Feb 2017 15:30:23 -0800 Subject: [PATCH] Fix connection problem and sentiment calc. --- tweetfeels/tweetdata.py | 5 +++-- tweetfeels/tweetfeels.py | 10 ++++------ tweetfeels/version.py | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/tweetfeels/tweetdata.py b/tweetfeels/tweetdata.py index 3621932..868bc58 100644 --- a/tweetfeels/tweetdata.py +++ b/tweetfeels/tweetdata.py @@ -13,10 +13,11 @@ def __init__(self, file='feels.sqlite'): self.make_feels_db(self._db) self._debug = False self.chunksize=1000 + self.fields = self._fields @property - def fields(self): - conn = sqlite3.connect(self._db) + def _fields(self): + conn = sqlite3.connect(self._db, detect_types=sqlite3.PARSE_DECLTYPES) c = conn.cursor() c.execute("select * from tweets") fields=tuple([f[0] for f in c.description]) diff --git a/tweetfeels/tweetfeels.py b/tweetfeels/tweetfeels.py index c9e843d..4984c2d 100644 --- a/tweetfeels/tweetfeels.py +++ b/tweetfeels/tweetfeels.py @@ -24,16 +24,13 @@ class TweetFeels(object): :ivar lang: A list of languages to include in tweet gathering. """ _db_factory = (lambda db: TweetData(db)) - _auth_factory = ( - lambda cred: OAuthHandler(cred[0], cred[1] - ).set_access_token(cred[2], cred[3]) - ) _listener_factory = (lambda ctrl: TweetListener(ctrl)) _stream_factory = (lambda auth, listener: Stream(auth, listener)) def __init__(self, credentials, tracking=[], db='feels.sqlite'): self._feels = TweetFeels._db_factory(db) - _auth = TweetFeels._auth_factory(credentials) + _auth = OAuthHandler(credentials[0], credentials[1]) + _auth.set_access_token(credentials[2], credentials[3]) self._listener = TweetFeels._listener_factory(self) self._stream = TweetFeels._stream_factory(_auth, self._listener) self.tracking = tracking @@ -41,7 +38,7 @@ def __init__(self, credentials, tracking=[], db='feels.sqlite'): self._sentiment = 0 self._filter_level = 'low' self.calc_every_n = 10 - self._latest_calc = None + self._latest_calc = 0 self._tweet_buffer = deque() self.buffer_limit = 50 @@ -123,4 +120,5 @@ def avg_sentiment(df): df = df.sort_index() for row in df.iteritems(): self._sentiment = self._sentiment*0.99 + row[1]*0.01 + self._latest_calc = df.tail(1).index.to_pydatetime()[0] return self._sentiment diff --git a/tweetfeels/version.py b/tweetfeels/version.py index 7fd229a..fc79d63 100644 --- a/tweetfeels/version.py +++ b/tweetfeels/version.py @@ -1 +1 @@ -__version__ = '0.2.0' +__version__ = '0.2.1'