'Gets information on each NFS export.
:returns: a list of the exports configured on HNAS'

def get_export_list(self):

    (nfs_export_out, _) = self._run_cmd('for-each-evs', '-q', 'nfs-export', 'list')
    fs_list = self._get_fs_list()
    evs_list = self._get_evs_list()
    export_list = []
    for export_raw_data in nfs_export_out.split('Export    name:')[1:]:
        export_info = {}
        export_data = export_raw_data.split('\n')
        export_info['name'] = export_data[0].strip()
        export_info['path'] = export_data[1].split(':')[1].strip()
        export_info['fs'] = export_data[2].split(':')[1].strip()
        if ('***    not    available    ***' in export_raw_data):
            export_info['size'] = (-1)
            export_info['free'] = (-1)
        else:
            evslbl = fs_list[export_info['fs']]['evslabel']
            export_info['evs'] = evs_list[evslbl]['ips']
            size = export_data[3].split(':')[1].strip().split()[0]
            multiplier = export_data[3].split(':')[1].strip().split()[1]
            if (multiplier == 'TB'):
                export_info['size'] = (float(size) * units.Ki)
            else:
                export_info['size'] = float(size)
            free = export_data[4].split(':')[1].strip().split()[0]
            fmultiplier = export_data[4].split(':')[1].strip().split()[1]
            if (fmultiplier == 'TB'):
                export_info['free'] = (float(free) * units.Ki)
            else:
                export_info['free'] = float(free)
        export_list.append(export_info)
    LOG.debug('get_export_list:    %(exp_list)s', {'exp_list': export_list})
    return export_list
