no module named py

David Hláčik david at hlacik.eu
Thu Jun 5 00:27:32 CEST 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.html>


More information about the Python-list mailing list