X-Git-Url: https://jfr.im/git/z_archive/twitter.git/blobdiff_plain/568331a954966fe0a980523b98f5195cc1026c5c..ce92ec7762914d9499be24d1730338ed1de7f642:/twitter/auth.py diff --git a/twitter/auth.py b/twitter/auth.py index e441d5b..d92b918 100644 --- a/twitter/auth.py +++ b/twitter/auth.py @@ -1,29 +1,32 @@ import urllib from base64 import encodestring -class Auth: +class Auth(object): + """ + ABC for Authenticator objects. + """ + def encode_params(self, base_url, method, params): """Encodes parameters for a request suitable for including in a URL or POST body. This method may also add new params to the request if required by the authentication scheme in use.""" - raise NotImplementedError + raise NotImplementedError() def generate_headers(self): """Generates headers which should be added to the request if required by the authentication scheme in use.""" - raise NotImplementedError + raise NotImplementedError() + -# An implementation using username and password. -class UserPassAuth(Auth): - def __init__(self, username, password): - self.username = username - self.password = password +class NoAuth(Auth): + """ + No authentication authenticator. + """ + def __init__(self): + pass def encode_params(self, base_url, method, params): - # We could consider automatically converting unicode to utf8 strings - # before encoding... return urllib.urlencode(params) def generate_headers(self): - return {"Authorization": "Basic " + encodestring("%s:%s" %( - self.username, self.password)).strip('\n')} + return {}