Exemple #1
0
class PasswordHelper:
    def __init__(self, passwordfile=None):
        if passwordfile == None:
            passwordfile = get_password_file()
        log.info("Using password file: %s" % (passwordfile))
        self.__getpw = GetPW(configFile=passwordfile)

    def get_password(self, server, user):
        """
            Standard get password for server and user
        """
        return self.__getpw.get(server, user)
Exemple #2
0
class PasswordHelper:
    def __init__( self, passwordfile = None ):
        if passwordfile == None:
            passwordfile = get_password_file()
        log.info( "Using password file: %s" %( passwordfile ) )
        self.__getpw = GetPW( configFile = passwordfile )
    
    def get_password( self, server, user ):
        """
            Standard get password for server and user
        """
        return self.__getpw.get( server, user )
Exemple #3
0
    def getConnectionDetails(self, system, level, access = "read", site = None, user = None):

        if user == None:
            try: user = pwd.getpwuid(os.getuid())[0]
            except KeyError: pass
            except NameError: pass;

        if site == None:
            site = execcontext.getSite()
            if site == "nyc":
                site = execcontext.getSiteAndCompany()

        databaseDescription = "%s:%s:%s:%s:%s" % (system,level,access,site,user)
        log.info("FIND %s" % databaseDescription )

        siteAndLevelFilter = lambda sc: sc and site == sc[0][0].lower() and level in sc[0][1]
        exactAccessFilter = lambda sc: access in sc[0][2]
        writeAccessFallbackFilter = lambda sc: "write" in sc[0][2]
      
        siteAndLevelConnections = filter(siteAndLevelFilter, self.connections.get(system, []))    
        matchingConnections = filter(exactAccessFilter, siteAndLevelConnections )
        
        if len(matchingConnections) == 0 and access == "read":
             matchingConnections = filter(writeAccessFallbackFilter, siteAndLevelConnections )
        
        if len(matchingConnections) > 1:
            raise dbError("More than one connection found for %s" % databaseDescription)
        if len(matchingConnections) < 1:
            raise dbError("Could not find database %s" % databaseDescription)        
        
        (vendor, server, schema, user, password, pwfile, host, port) = matchingConnections[0][1]
        
        #
        # Override password file if specified in config
        #
        if not pwfile and self.__pwfile:
            pwfile = self.__pwfile

        if not password and pwfile:
            password = GetPW( configFile = pwfile ).get( server, user )

        return (vendor, server, user, password, schema, host, port)    
Exemple #4
0
 def __init__(self, passwordfile=None):
     if passwordfile == None:
         passwordfile = get_password_file()
     log.info("Using password file: %s" % (passwordfile))
     self.__getpw = GetPW(configFile=passwordfile)
Exemple #5
0
 def __init__( self, passwordfile = None ):
     if passwordfile == None:
         passwordfile = get_password_file()
     log.info( "Using password file: %s" %( passwordfile ) )
     self.__getpw = GetPW( configFile = passwordfile )