--- a/script/rest/search_twitter.py Tue Nov 05 11:57:19 2013 +0100
+++ b/script/rest/search_twitter.py Wed Nov 06 02:42:13 2013 +0100
@@ -1,31 +1,34 @@
-from iri_tweet import models, processor, utils
-from optparse import OptionParser
-import anyjson
+import argparse
import re
import sys
+
+import anyjson
import twitter
-def get_option():
+from iri_tweet import models, processor, utils
+
+
+def get_options():
- parser = OptionParser()
+ usage = "usage: %(prog)s [options] <connection_str_or_filepath>"
+
+ parser = argparse.ArgumentParser(usage=usage)
- parser.add_option("-l", "--log", dest="logfile",
- help="log to file", metavar="LOG", default="stderr")
- parser.add_option("-v", dest="verbose", action="count",
- help="verbose", metavar="VERBOSE", default=0)
- parser.add_option("-q", dest="quiet", action="count",
- help="quiet", metavar="QUIET", default=0)
- parser.add_option("-Q", dest="query",
+ parser.add_argument(dest="conn_str",
+ help="write tweet to DATABASE. This is a connection string", metavar="CONNECTION_STR")
+ parser.add_argument("-Q", dest="query",
help="query", metavar="QUERY")
- parser.add_option("-P", dest="rpp", metavar="RPP", default="50",
+ parser.add_argument("-P", dest="rpp", metavar="RPP", default="50",
help="Result per page")
- parser.add_option("-t", dest="token_filename", metavar="TOKEN_FILENAME", default=".oauth_token",
+ parser.add_argument("-t", dest="token_filename", metavar="TOKEN_FILENAME", default=".oauth_token",
help="Token file name")
- parser.add_option("-k", "--key", dest="consumer_key",
+ parser.add_argument("-k", "--key", dest="consumer_key",
help="Twitter consumer key", metavar="CONSUMER_KEY")
- parser.add_option("-s", "--secret", dest="consumer_secret",
+ parser.add_argument("-s", "--secret", dest="consumer_secret",
help="Twitter consumer secret", metavar="CONSUMER_SECRET")
+ utils.set_logging_options(parser)
+
return parser.parse_args()
def get_auth(options, access_token):
@@ -36,18 +39,17 @@
if __name__ == "__main__":
- (options, args) = get_option()
+ (options, args) = get_options()
access_token = utils.get_oauth_token(consumer_key=options.consumer_key, consumer_secret=options.consumer_secret, token_file_path=options.token_filename)
auth = get_auth(options, access_token)
t = twitter.Twitter(domain="api.twitter.com",api_version="1.1",secure=True, auth=auth)
-
- conn_str = args[0].strip()
+
+ conn_str = options.conn_str.strip()
if not re.match("^\w+://.+", conn_str):
conn_str = 'sqlite:///' + conn_str
-
engine, metadata, Session = models.setup_database(conn_str, echo=((options.verbose-options.quiet)>0), create_all=True)
session = None
try: