no module named py
David Hláčik
david at hlacik.eu
Wed Jun 4 18:27:32 EDT 2008
most important method inside news class is newsauth which takes username,
password and will return 1 if ldap authentification was OK.
actually inn will call method authenticate which will call self.newsauth and
here comes the problem .. i ve got instead of call self.newsauth error no
module named py :
from authenticate :
try:
syslog('notice', "result %s" %
self.newsauth('boss','bbbb'))
except Exception, msg:
syslog('notice', "error %s, %s, %s" %
(type(msg),msg.args,msg))
On Thu, Jun 5, 2008 at 12:26 AM, David Hláčik <david at hlacik.eu> wrote:
> Hello, what this beautifull mesage which is messing me whole day means :
>
> *python: error <type 'instance'>, ('No module named py',), No module named
> py*
>
> as a result of class pdg.py which is called from nnrpd_auth.py.
>
> To be detailed ... news server inn is calling that when doing
> autentification , it calls nnrpd_auth.py where instance of my class is
> hooked into inn , when authentification begins it calls method
> authenticate(arguments) from pdg.
>
> I will provide as many information as needed to solve this mistery, becouse
> i really need to solve it.
> Thanks!
>
>
> #!/usr/bin/env python
>
> import ldap
> from nnrpd import syslog
> class news:
>
> server = 'ldap://dev01.net.hlacik.eu'
> user_dn = 'cn=pdg,ou=Operators,o=Polarion'
> user_pw = 'Pdg1'
>
> connectcodes = { 'READPOST':200,
> 'READ':201,
> 'AUTHNEEDED':480,
> 'PERMDENIED':502
> }
>
> authcodes = { 'ALLOWED':281,
> 'DENIED':502
> }
>
> def newsauth(self,match_username,match_password):
> base_dn = 'ou=Users,o=Polarion'
> filter = "(uid=" + match_username + ")"
> attrs = ['userPassword']
>
> try :
> l = ldap.initialize(self.server)
> l.bind_s(self.user_dn, self.user_pw)
> raw_res = l.search_s( base_dn, ldap.SCOPE_SUBTREE,
> filter, attrs )
> l.unbind()
> except ldap.SERVER_DOWN:
> print "Error, server down"
> return 2
> except ldap.INVALID_CREDENTIALS:
> print "Error, invalid credentials"
> return 2
> except ldap.LDAPError, e:
> print "Error, %s" % e
> for results in raw_res:
> (cn,search) = results
> for password in search["userPassword"]:
> if password == match_password: return 1
>
> return 0
>
>
> def authenticate(self, attributes):
>
> # just for debugging purposes
> syslog('notice', 'nnrpd_auth authenticate() invoked:
> hostname %s, ipaddress
> %s, interface %s, user %s' % (\
> attributes['hostname'], \
> attributes['ipaddress'], \
> attributes['interface'], \
> attributes['user']))
>
> try:
> syslog('notice', "result %s" %
> self.newsauth('boss','bbbb'))
> except Exception, msg:
> syslog('notice', "error %s, %s, %s" %
> (type(msg),msg.args,msg))
> # do username passworld authentication
> #if self.newsauth(attributes['user'],
> str(attributes['pass'])):
> # syslog('notice', 'authentication by username
> succeeded')
> # return ( self.authcodes['ALLOWED'], 'No error' )
> #else:
> # syslog('notice', 'authentication by username failed')
> # return ( self.authcodes['DENIED'], 'Access Denied!')
>
> -------------------
>
> nnrpd_auth_py :
>
> #
> # Sample authentication and authorization class. It defines all methods
> known
> # to nnrpd.
> #
> # Import functions exposed by nnrpd. This import must succeed, or nothing
> # will work!
> from nnrpd import *
> from pdg import *
>
> myauth = news()
>
> # ...and try to hook up on nnrpd. This would make auth object methods
> visible
> # to nnrpd.
> try:
> set_auth_hook(myauth)
> syslog('notice', "authentication module successfully hooked into
> nnrpd")
> except Exception, errmsg:
> syslog('error', "Cannot obtain nnrpd hook for authentication method:
> %s" % errmsg[0])
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20080605/679fb090/attachment-0001.html>
More information about the Python-list
mailing list