Add option to tweepyshell to enable debug mode.
authorJoshua Roesslein <jroesslein@gmail.com>
Tue, 8 Dec 2009 07:29:07 +0000 (01:29 -0600)
committerJoshua Roesslein <jroesslein@gmail.com>
Tue, 8 Dec 2009 07:29:07 +0000 (01:29 -0600)
CHANGELOG
tweepyshell

index a001f226390dc9253c3a1698a5b3a7a1e335b9d7..c1d73c8935371780055f4f337bb8d971c8e45e79 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -17,9 +17,11 @@ during upgrade will be listed here.
 + tweepyshell
     - allow using getpass for more secure password collection
       new usage: tweepyshell <username> [password] <-- optional now
+    - enable debug mode with '-d' flag
 + API
        - retweet() method now works correctly
     - Added local trends method: trends_available() and trends_location()
++ tweepy.debug() enables httplib debug mode
 
 1.2 -> 1.3 [Current release]
 =====================
index d47132cab0f3e31c89e3efee5a7fbfb3af3c41d0..6062a79c717a3bfaa08259da124fc23f7c4cb78d 100755 (executable)
@@ -3,9 +3,10 @@
 import sys
 
 import code
+from getpass import getpass
+from optparse import OptionParser
 import tweepy
 from tweepy import API, BasicAuthHandler
-from getpass import getpass
 
 """Launch an interactive shell ready for Tweepy usage
 
@@ -15,18 +16,22 @@ It imports tweepy and creates an authenticated API instance (api)
 using the credentials provided.
 """
 
-username = None
-password = None
-
-if len(sys.argv) == 2:
-    username, password = sys.argv[1], getpass()
-elif len(sys.argv) == 3:
-    username, password = sys.argv[1], sys.argv[2]
+opt = OptionParser(usage='tweepyshell [options] <username> <password>')
+opt.add_option('-d', '--debug',
+        action='store_true',
+        dest='debug',
+        help='enable debug mode')
+options, args = opt.parse_args()
+
+if len(args) == 1:
+    auth = BasicAuthHandler(sys.argv[1], getpass())
+elif len(args) == 2:
+    auth = BasicAuthHandler(sys.argv[1], sys.argv[2])
 else:
-    print 'Usage: tweepyshell <username> [password]'
-    exit(1)
+    auth = None
 
-api = API(BasicAuthHandler(username=username, password=password))
+if options.debug:
+    tweepy.debug()
 
-code.interact('<Tweepy shell>', local={'tweepy': tweepy, 'api': api})
+code.interact('<Tweepy shell>', local={'tweepy': tweepy, 'api': API(auth)})