@classmethod
        def getConnectionString(cls):
            
            import os
            import ConfigParser
            config_file = os.path.join(os.path.expanduser('~'),'.pymadlib.config')
          
            config = ConfigParser.ConfigParser()
            if( not os.path.exists(config_file)):
                raise Exception('DB connection configuration file not found at {path}'.format(path=config_file))
              
            config.read(config_file)
            username = config.get('db_connection','user')
            password = config.get('db_connection','password')
            hostname = config.get('db_connection','hostname')
            port = config.get('db_connection','port')
            database = config.get('db_connection','database')
            conn_string = "host='{hostname}' port ='{port}' dbname='{database}' user='{username}' password='{password}'"
            conn_string = conn_string.format(hostname=hostname,port=port,database=database,username=username,password=password)
            conn_dict = {}
            conn_dict['username']=username
            conn_dict['password']=password
            conn_dict['hostname']=hostname
            conn_dict['port']=port
            conn_dict['database']=database
            conn_dict['conn_string']=conn_string
            return conn_dict
Checks if the first item of an array-like object is also array-like
dataset/ETHPy150Open pivotalsoftware/pymadlib/pymadlib/pymadlib.py/DBConnect.getConnectionString--crossover with--dataset/ETHPy150Open statsmodels/statsmodels/statsmodels/tools/grouputils.py/_is_hierarchical