--- a/script/rest/search_enmi.py Wed Jan 12 13:25:01 2011 +0100
+++ b/script/rest/search_enmi.py Tue Jan 18 10:08:03 2011 +0100
@@ -1,5 +1,7 @@
+from iri_tweet import models, utils
+from sqlalchemy.orm import sessionmaker
import sqlite3
-import twython
+import twitter
def get_option():
@@ -13,6 +15,11 @@
help="quiet", metavar="QUIET", default=0)
parser.add_option("-r", "--request", dest="request",
help="twitter request", metavar="REQUEST", default=0)
+ parser.add_option("-Q", dest="query",
+ help="query", metavar="QUERY")
+ parser.add_option("-P", dest="rpp", metavar="RPP", default="50",
+ help="Result per page", metavar="RPP")
+
#add request token
#add
@@ -20,20 +27,31 @@
if __name__ == "__main__":
- twitter = twython.Twython()
- conn = sqlite3.connect('enmi2010_twitter_rest.db')
+ (options, args) = get_option()
+
+ twitter = twitter.Twitter(domain="search.twitter.com")
+ engine, metadata = models.setup_database('sqlite:///'+args[0], echo=((options.verbose-options.quiet)>0))
+ Session = sessionmaker(bind=engine)
+ session = Session()
try:
- conn.row_factory = sqlite3.Row
- curs = conn.cursor()
- curs.execute("create table if not exists tweet_tweet (json);")
- conn.commit()
+ #conn.row_factory = sqlite3.Row
+ #curs = conn.cursor()
+ #curs.execute("create table if not exists tweet_tweet (json);")
+ #conn.commit()
- results = twitter.searchTwitter(q="#enmi", rpp="50")
- for tweet in results["results"]:
- print tweet
- curs.execute("insert into tweet_tweet (json) values (:json);", {"json":unicode(tweet)})
- conn.commit()
+ results = None
+ page = 1
+
+ while page <= int(1500/int(options.rpp)) and ( results is None or len(results) > 0):
+ results = twitter. search(q=options.query, rpp=options.rpp, page=page)
+ for tweet in results["results"]:
+ print tweet
+ processor = utils.TwitterProcessor(tweet, None, session)
+ processor.process()
+ session.flush()
+ page += 1
+ session.commit()
finally:
- conn.close()
+ session.close()