Ñò
ýJc @ s“ d d k l Z d d k l Z d d k l Z d „ Z d „ Z d d
d „ ƒ YZ d d d „ ƒ YZ d d d d
„ Z
d d d d d „ Z d S( iÿÿÿÿ( t
implements( t IAuthenticator( t IMetadataProviderc C s† y d d k l } Wn# t j
o d d k l } n X| i d ƒ o | d } | | ƒ i ƒ } n | } | | j o t St S( Niÿÿÿÿ( t sha1( t news {SHA}i ( t hashlibR t ImportErrort shaR t
startswitht hexdigestt Truet False( t cleartext_passwordt stored_password_hashR t digest( ( s: /usr/lib/python2.6/site-packages/repoze/who/plugins/sql.pyt default_password_compare s
c s ‡ f d † } | S( Nc s d d k } | i ˆ d ƒ S( Niÿÿÿÿs repoze.who.dsn( t psycopg2t connect( R ( t kw( s: /usr/lib/python2.6/site-packages/repoze/who/plugins/sql.pyt conn_factory s ( ( R R ( ( R s: /usr/lib/python2.6/site-packages/repoze/who/plugins/sql.pyt make_psycopg_conn_factory s t SQLAuthenticatorPluginc B s$ e Z e e ƒ d „ Z d „ Z RS( c C s/ | | _ | | _ | p t | _ d | _ d S( N( t queryR R t
compare_fnt Nonet conn( t selfR R R ( ( s: /usr/lib/python2.6/site-packages/repoze/who/plugins/sql.pyt __init__$ s c C sž d | j o d S| i p | i ƒ | _ n | i i ƒ } | i | i | ƒ | i ƒ } | i ƒ | o, | \ } } | i | d | ƒ o | Sn d S( Nt logint password( R R R t cursort executeR t fetchonet closeR ( R t environt identityt curst resultt user_idR ( ( s: /usr/lib/python2.6/site-packages/repoze/who/plugins/sql.pyt authenticate- s
( t __name__t
__module__R R R R' ( ( ( s: /usr/lib/python2.6/site-packages/repoze/who/plugins/sql.pyR ! s
t SQLMetadataProviderPluginc B s$ e Z e e ƒ d „ Z d „ Z RS( c C s1 | | _ | | _ | | _ | | _ d | _ d S( N( t nameR R t filterR R ( R R+ R R R, ( ( s: /usr/lib/python2.6/site-packages/repoze/who/plugins/sql.pyR > s
c C sž | i d j o | i ƒ | _ n | i i ƒ } | d | d <| i | i | ƒ | i ƒ } | i o | i | ƒ } n | i ƒ | d =| | | i