diff -r 5378e8a44db1 -r 11c1322cffe6 script/rest/search_twitter.py --- 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] " + + 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: