def __init__(self, twitter_token=None, twitter_secret=None, oauth_token=None, oauth_token_secret=None, \ headers=None, callback_url=None, client_args=None): """setup(self, oauth_token = None, headers = None) Instantiates an instance of Twython. Takes optional parameters for authentication and such (see below). Parameters: twitter_token - Given to you when you register your application with Twitter. twitter_secret - Given to you when you register your application with Twitter. oauth_token - If you've gone through the authentication process and have a token for this user, pass it in and it'll be used for all requests going forward. oauth_token_secret - see oauth_token; it's the other half. headers - User agent header, dictionary style ala {'User-Agent': 'Bert'} client_args - additional arguments for HTTP client (see httplib2.Http.__init__), e.g. {'timeout': 10.0} ** Note: versioning is not currently used by search.twitter functions; when Twitter moves their junk, it'll be supported. """ # Needed for hitting that there API. self.request_token_url = 'http://api.twitter.com/oauth/request_token' self.access_token_url = 'http://api.twitter.com/oauth/access_token' self.authorize_url = 'http://api.twitter.com/oauth/authorize' self.authenticate_url = 'http://api.twitter.com/oauth/authenticate' self.twitter_token = twitter_token self.twitter_secret = twitter_secret self.oauth_token = oauth_token self.oauth_secret = oauth_token_secret self.callback_url = callback_url # If there's headers, set them, otherwise be an embarassing parent for their own good. self.headers = headers if self.headers is None: self.headers = {'User-agent': 'Twython Python Twitter Library v1.3'} self.consumer = None self.token = None client_args = client_args or {} if self.twitter_token is not None and self.twitter_secret is not None: self.consumer = oauth.Consumer(self.twitter_token, self.twitter_secret) if self.oauth_token is not None and self.oauth_secret is not None: self.token = oauth.Token(oauth_token, oauth_token_secret) # Filter down through the possibilities here - if they have a token, if they're first stage, etc. if self.consumer is not None and self.token is not None: self.client = oauth.Client(self.consumer, self.token, **client_args) elif self.consumer is not None: self.client = oauth.Client(self.consumer, **client_args) else: # If they don't do authentication, but still want to request unprotected resources, we need an opener. self.client = httplib2.Http(**client_args) # register available funcs to allow listing name when debugging. def setFunc(key): return lambda **kwargs: self._constructFunc(key, **kwargs) for key in api_table.keys(): self.__dict__[key] = setFunc(key)
def __init__(self, app_key=None, app_secret=None, oauth_token=None, oauth_token_secret=None, \ headers=None, callback_url=None, twitter_token=None, twitter_secret=None, proxies=None, version='1.1'): """Instantiates an instance of Twython. Takes optional parameters for authentication and such (see below). :param app_key: (optional) Your applications key :param app_secret: (optional) Your applications secret key :param oauth_token: (optional) Used with oauth_token_secret to make authenticated calls :param oauth_token_secret: (optional) Used with oauth_token to make authenticated calls :param headers: (optional) Custom headers to send along with the request :param callback_url: (optional) If set, will overwrite the callback url set in your application :param proxies: (optional) A dictionary of proxies, for example {"http":"proxy.example.org:8080", "https":"proxy.example.org:8081"}. """ # Needed for hitting that there API. self.api_version = version self.api_url = 'https://api.twitter.com/%s' self.request_token_url = self.api_url % 'oauth/request_token' self.access_token_url = self.api_url % 'oauth/access_token' self.authorize_url = self.api_url % 'oauth/authorize' self.authenticate_url = self.api_url % 'oauth/authenticate' # Enforce unicode on keys and secrets self.app_key = app_key and unicode(app_key) or twitter_token and unicode(twitter_token) self.app_secret = app_key and unicode(app_secret) or twitter_secret and unicode(twitter_secret) self.oauth_token = oauth_token and u'%s' % oauth_token self.oauth_token_secret = oauth_token_secret and u'%s' % oauth_token_secret self.callback_url = callback_url # If there's headers, set them, otherwise be an embarassing parent for their own good. self.headers = headers or {'User-Agent': 'Twython v' + __version__} # Allow for unauthenticated requests self.client = requests.session(proxies=proxies) self.auth = None if self.app_key is not None and self.app_secret is not None and \ self.oauth_token is None and self.oauth_token_secret is None: self.auth = OAuth1(self.app_key, self.app_secret, signature_type='auth_header') if self.app_key is not None and self.app_secret is not None and \ self.oauth_token is not None and self.oauth_token_secret is not None: self.auth = OAuth1(self.app_key, self.app_secret, self.oauth_token, self.oauth_token_secret, signature_type='auth_header') if self.auth is not None: self.client = requests.session(headers=self.headers, auth=self.auth, proxies=proxies) # register available funcs to allow listing name when debugging. def setFunc(key): return lambda **kwargs: self._constructFunc(key, **kwargs) for key in api_table.keys(): self.__dict__[key] = setFunc(key) # create stash for last call intel self._last_call = None
def __init__(self, app_key=None, app_secret=None, oauth_token=None, oauth_token_secret=None, \ headers=None, callback_url=None, twitter_token=None, twitter_secret=None, proxies=None): """Instantiates an instance of Twython. Takes optional parameters for authentication and such (see below). :param app_key: (optional) Your applications key :param app_secret: (optional) Your applications secret key :param oauth_token: (optional) Used with oauth_token_secret to make authenticated calls :param oauth_token_secret: (optional) Used with oauth_token to make authenticated calls :param headers: (optional) Custom headers to send along with the request :param callback_url: (optional) If set, will overwrite the callback url set in your application :param proxies: (optional) A dictionary of proxies, for example {"http":"proxy.example.org:8080", "https":"proxy.example.org:8081"}. """ # Needed for hitting that there API. self.api_url = 'https://api.twitter.com/%s' self.request_token_url = self.api_url % 'oauth/request_token' self.access_token_url = self.api_url % 'oauth/access_token' self.authorize_url = self.api_url % 'oauth/authorize' self.authenticate_url = self.api_url % 'oauth/authenticate' # Enforce unicode on keys and secrets self.app_key = app_key and unicode(app_key) or twitter_token and unicode(twitter_token) self.app_secret = app_key and unicode(app_secret) or twitter_secret and unicode(twitter_secret) self.oauth_token = oauth_token and u'%s' % oauth_token self.oauth_token_secret = oauth_token_secret and u'%s' % oauth_token_secret self.callback_url = callback_url # If there's headers, set them, otherwise be an embarassing parent for their own good. self.headers = headers or {'User-Agent': 'Twython v' + __version__} # Allow for unauthenticated requests self.client = requests.session(proxies=proxies) self.auth = None if self.app_key is not None and self.app_secret is not None and \ self.oauth_token is None and self.oauth_token_secret is None: self.auth = OAuth1(self.app_key, self.app_secret, signature_type='auth_header') if self.app_key is not None and self.app_secret is not None and \ self.oauth_token is not None and self.oauth_token_secret is not None: self.auth = OAuth1(self.app_key, self.app_secret, self.oauth_token, self.oauth_token_secret, signature_type='auth_header') if self.auth is not None: self.client = requests.session(headers=self.headers, auth=self.auth, proxies=proxies) # register available funcs to allow listing name when debugging. def setFunc(key): return lambda **kwargs: self._constructFunc(key, **kwargs) for key in api_table.keys(): self.__dict__[key] = setFunc(key) # create stash for last call intel self._last_call = None
def __init__(self, twitter_token = None, twitter_secret = None, oauth_token = None, oauth_token_secret = None, headers=None, callback_url=None, client_args={}): """setup(self, oauth_token = None, headers = None) Instantiates an instance of Twython. Takes optional parameters for authentication and such (see below). Parameters: twitter_token - Given to you when you register your application with Twitter. twitter_secret - Given to you when you register your application with Twitter. oauth_token - If you've gone through the authentication process and have a token for this user, pass it in and it'll be used for all requests going forward. oauth_token_secret - see oauth_token; it's the other half. headers - User agent header, dictionary style ala {'User-Agent': 'Bert'} client_args - additional arguments for HTTP client (see httplib2.Http.__init__), e.g. {'timeout': 10.0} ** Note: versioning is not currently used by search.twitter functions; when Twitter moves their junk, it'll be supported. """ # Needed for hitting that there API. self.request_token_url = 'http://twitter.com/oauth/request_token' self.access_token_url = 'http://twitter.com/oauth/access_token' self.authorize_url = 'http://twitter.com/oauth/authorize' self.authenticate_url = 'http://twitter.com/oauth/authenticate' self.twitter_token = twitter_token self.twitter_secret = twitter_secret self.oauth_token = oauth_token self.oauth_secret = oauth_token_secret self.callback_url = callback_url # If there's headers, set them, otherwise be an embarassing parent for their own good. self.headers = headers if self.headers is None: self.headers = {'User-agent': 'Twython Python Twitter Library v1.3'} consumer = None token = None if self.twitter_token is not None and self.twitter_secret is not None: consumer = oauth.Consumer(self.twitter_token, self.twitter_secret) if self.oauth_token is not None and self.oauth_secret is not None: token = oauth.Token(oauth_token, oauth_token_secret) # Filter down through the possibilities here - if they have a token, if they're first stage, etc. if consumer is not None and token is not None: self.client = oauth.Client(consumer, token, **client_args) elif consumer is not None: self.client = oauth.Client(consumer, **client_args) else: # If they don't do authentication, but still want to request unprotected resources, we need an opener. self.client = httplib2.Http(**client_args) def setFunc(key): return lambda **kwargs: self._constructFunc(key, **kwargs) # register available funcs to allow listing name when debugging. for key in api_table.keys(): self.__dict__[key] = setFunc(key)
def __init__(self, app_key=None, app_secret=None, oauth_token=None, oauth_token_secret=None, \ headers=None, callback_url=None, twitter_token=None, twitter_secret=None): """Instantiates an instance of Twython. Takes optional parameters for authentication and such (see below). :param app_key: (optional) Your applications key :param app_secret: (optional) Your applications secret key :param oauth_token: (optional) Used with oauth_secret to make authenticated calls :param oauth_secret: (optional) Used with oauth_token to make authenticated calls :param headers: (optional) Custom headers to send along with the request :param callback_url: (optional) If set, will overwrite the callback url set in your application """ # Needed for hitting that there API. self.api_url = 'https://api.twitter.com/%s' self.request_token_url = self.api_url % 'oauth/request_token' self.access_token_url = self.api_url % 'oauth/access_token' self.authorize_url = self.api_url % 'oauth/authorize' self.authenticate_url = self.api_url % 'oauth/authenticate' # Enforce unicode on keys and secrets self.app_key = None if app_key is not None or twitter_token is not None: self.app_key = u'%s' % (app_key or twitter_token) self.app_secret = None if app_secret is not None or twitter_secret is not None: self.app_secret = u'%s' % (app_secret or twitter_secret) self.oauth_token = None if oauth_token is not None: self.oauth_token = u'%s' % oauth_token self.oauth_secret = None if oauth_token_secret is not None: self.oauth_secret = u'%s' % oauth_token_secret self.callback_url = callback_url # If there's headers, set them, otherwise be an embarassing parent for their own good. self.headers = headers if self.headers is None: self.headers = { 'User-agent': 'Twython Python Twitter Library v' + __version__ } self.client = None self.auth = None if self.app_key is not None and self.app_secret is not None: self.auth = OAuth1(self.app_key, self.app_secret, signature_type='auth_header') if self.oauth_token is not None and self.oauth_secret is not None: self.auth = OAuth1(self.app_key, self.app_secret, self.oauth_token, self.oauth_secret, signature_type='auth_header') if self.client is None: # If they don't do authentication, but still want to request # unprotected resources, we need an opener. self.client = requests.session() # register available funcs to allow listing name when debugging. def setFunc(key): return lambda **kwargs: self._constructFunc(key, **kwargs) for key in api_table.keys(): self.__dict__[key] = setFunc(key) # create stash for last call intel self._last_call = None
def __init__(self, app_key=None, app_secret=None, oauth_token=None, oauth_token_secret=None, \ headers=None, callback_url=None, twitter_token=None, twitter_secret=None): """Instantiates an instance of Twython. Takes optional parameters for authentication and such (see below). :param app_key: (optional) Your applications key :param app_secret: (optional) Your applications secret key :param oauth_token: (optional) Used with oauth_secret to make authenticated calls :param oauth_secret: (optional) Used with oauth_token to make authenticated calls :param headers: (optional) Custom headers to send along with the request :param callback_url: (optional) If set, will overwrite the callback url set in your application """ # Needed for hitting that there API. self.api_url = 'https://api.twitter.com/%s' self.request_token_url = self.api_url % 'oauth/request_token' self.access_token_url = self.api_url % 'oauth/access_token' self.authorize_url = self.api_url % 'oauth/authorize' self.authenticate_url = self.api_url % 'oauth/authenticate' # Enforce unicode on keys and secrets self.app_key = None if app_key is not None or twitter_token is not None: self.app_key = u'%s' % (app_key or twitter_token) self.app_secret = None if app_secret is not None or twitter_secret is not None: self.app_secret = u'%s' % (app_secret or twitter_secret) self.oauth_token = None if oauth_token is not None: self.oauth_token = u'%s' % oauth_token self.oauth_secret = None if oauth_token_secret is not None: self.oauth_secret = u'%s' % oauth_token_secret self.callback_url = callback_url # If there's headers, set them, otherwise be an embarassing parent for their own good. self.headers = headers if self.headers is None: self.headers = {'User-agent': 'Twython Python Twitter Library v' + __version__} self.client = None if self.app_key is not None and self.app_secret is not None: self.auth = OAuth1(self.app_key, self.app_secret, signature_type='auth_header') if self.oauth_token is not None and self.oauth_secret is not None: self.auth = OAuth1(self.app_key, self.app_secret, self.oauth_token, self.oauth_secret, signature_type='auth_header') # Filter down through the possibilities here - if they have a token, if they're first stage, etc. if self.client is None: # If they don't do authentication, but still want to request unprotected resources, we need an opener. self.client = requests.session() # register available funcs to allow listing name when debugging. def setFunc(key): return lambda **kwargs: self._constructFunc(key, **kwargs) for key in api_table.keys(): self.__dict__[key] = setFunc(key) # create stash for last call intel self._last_call = None