Added API.new() method. Updated tweepyshell.
authorJosh Roesslein <jroesslein@gmail.com>
Fri, 14 Aug 2009 14:51:25 +0000 (09:51 -0500)
committerJosh Roesslein <jroesslein@gmail.com>
Fri, 14 Aug 2009 14:51:25 +0000 (09:51 -0500)
CHANGES
tweepy/api.py
tweepy/auth.py
tweepyshell.py

diff --git a/CHANGES b/CHANGES
index 7ed169cc2f51a5a92749169079e5e99d44d48c8f..b38b3572b7d79854a7358477fd45c79b6e9117f8 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,8 @@ during upgrade will be listed here.
 + API:
     + __init__() signature change; no longer accepts 'username' parameter
       which is now autodetected.
+    + added new() method. shortcut for setting up new API instances
+      example: API.new(auth='basic', username='testuser', password='testpass')
 + Fixes
     + User.following is now set to False instead of None
       when user is not followed.
index 7f39cfccc4e1112c27f1249212f2e49008344fdc..0592b474d3f677887c32c3ab8e917caa5bb79a6b 100644 (file)
@@ -5,6 +5,7 @@
 from . binder import bind_api
 from . parsers import *
 from . error import TweepError
+from . auth import BasicAuthHandler, OAuthHandler
 
 """Twitter API"""
 class API(object):
@@ -22,6 +23,15 @@ class API(object):
     # not a good idea to touch these
     self._username = None
 
+  @staticmethod
+  def new(auth='basic', *args, **kargs):
+    if auth == 'basic':
+      return API(BasicAuthHandler(*args, **kargs))
+    elif auth == 'oauth':
+      return API(OAuthHandler(*args, **kargs))
+    else:
+      raise TweepError('Invalid auth type')
+
   """Get public timeline"""
   public_timeline = bind_api(
       path = '/statuses/public_timeline.json',
index 59d502dffd84db065a56b2c02f477967948b1afb..86dcdc1567992b54267d29b6a5b79e917c2522ed 100644 (file)
@@ -85,6 +85,4 @@ class OAuthHandler(AuthHandler):
       return self.access_token
     except Exception, e:
       raise TweepError(e)
-      
-
 
index 5f7de008d2ea7856ccdf2d25035640466b16f250..df4b4797aff05796b473e111a4850526b0c926b4 100755 (executable)
@@ -17,7 +17,7 @@ if len(sys.argv) != 3:
   print 'Usage: tweepyshell <username> <password>'
   exit(1)
 
-api = tweepy.API(tweepy.BasicAuthHandler(sys.argv[1], sys.argv[2]))
+api = tweepy.API.new(auth='basic', username=sys.argv[1], password=sys.argv[2])
 if api.verify_credentials() is False:
   print 'Invalid username and/or password!'
   exit(1)