Ńň z‡Jc @s’ddkZddklZddklZddklZddklZddkl Z ddkl Z de fd „ƒYZ d d „Z dS( i˙˙˙˙N(tWWW_AUTHENTICATE(t AUTHORIZATION(tHTTPUnauthorized(t implements(t IIdentifier(t IChallengertBasicAuthPlugincBsTeZeeeƒd„Zd„Zd„Zd„Zd„Z d„Z d„Z RS(cCs ||_dS(N(trealm(tselfR((s@/usr/lib/python2.6/site-packages/repoze/who/plugins/basicauth.pyt__init__sc CsŐt|ƒ}y|iddƒ\}}Wntj odSX|iƒdjoy|iƒidƒ}Wntij odSXy|iddƒ\}}Wntj odSXh|d6|d6}|SdS(Nt itbasictbase64t:tlogintpassword( Rtsplitt ValueErrortNonetlowertstriptdecodetbinasciitError(Rtenviront authorizationtauthmethtauthRR((s@/usr/lib/python2.6/site-packages/repoze/who/plugins/basicauth.pytidentifys" cCsdS(N((RRtidentity((s@/usr/lib/python2.6/site-packages/repoze/who/plugins/basicauth.pytremember)scCstid|iƒ}|S(NsBasic realm="%s"(RttuplesR(Rthead((s@/usr/lib/python2.6/site-packages/repoze/who/plugins/basicauth.pyt _get_wwwauth.scCs |iƒS(N(R!(RRR((s@/usr/lib/python2.6/site-packages/repoze/who/plugins/basicauth.pytforget3scCs8|iƒ}|d|jo||}ntd|ƒS(Nitheaders(R!R(RRtstatust app_headerstforget_headersR ((s@/usr/lib/python2.6/site-packages/repoze/who/plugins/basicauth.pyt challenge7s cCsd|iit|ƒfS(Ns<%s %s>(t __class__t__name__tid(R((s@/usr/lib/python2.6/site-packages/repoze/who/plugins/basicauth.pyt__repr__=s ( R)t __module__RRRR RRR!R"R'R+(((s@/usr/lib/python2.6/site-packages/repoze/who/plugins/basicauth.pyR s       R cCst|ƒ}|S(N(R(Rtplugin((s@/usr/lib/python2.6/site-packages/repoze/who/plugins/basicauth.pyt make_pluginAs (Rtpaste.httpheadersRRtpaste.httpexceptionsRtzope.interfaceRtrepoze.who.interfacesRRtobjectRR.(((s@/usr/lib/python2.6/site-packages/repoze/who/plugins/basicauth.pyts 5