script/rest/search_twitter.py
changeset 982 11c1322cffe6
parent 917 c47f290a001f
child 987 18cb05f027a0
--- 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: