'Parse all the zone information and store it in the dictionary.'

def get_zone_info(self):

    try:
        self.cfgs = {}
        self.zones = {}
        self.active_cfg = ''
        self.alias = {}
        self.qlps = {}
        self.ifas = {}
        headers = {zone_constant.AUTH_HEADER: self.auth_header}
        response = self.connect(zone_constant.GET_METHOD, zone_constant.ZONE_PAGE, header=headers)
        self.parsed_raw_zoneinfo = self.get_parsed_data(response, zone_constant.ZONEINFO_BEGIN, zone_constant.ZONEINFO_END).strip('\n')
        LOG.debug('Original    zone    string    from    the    switch:    %(zoneinfo)s', {'zoneinfo': self.parsed_raw_zoneinfo})
        zoneinfo = self.parsed_raw_zoneinfo.split()
        i = 0
        while (i < len(zoneinfo)):
            info = zoneinfo[i]
            if (zone_constant.CFG_DELIM in info):
                cfg_name = info.lstrip(zone_constant.CFG_DELIM)
                self.cfgs.update({cfg_name: zoneinfo[(i + 1)]})
                i = (i + 2)
            elif (zone_constant.ZONE_DELIM in info):
                zone_name = info.lstrip(zone_constant.ZONE_DELIM)
                self.zones.update({zone_name: zoneinfo[(i + 1)]})
                i = (i + 2)
            elif (zone_constant.ALIAS_DELIM in info):
                alias_name = info.lstrip(zone_constant.ALIAS_DELIM)
                self.alias.update({alias_name: zoneinfo[(i + 1)]})
                i = (i + 2)
            elif (zone_constant.QLP_DELIM in info):
                qlp_name = info.lstrip(zone_constant.QLP_DELIM)
                self.qlps.update({qlp_name: zoneinfo[(i + 1)]})
                i = (i + 2)
            elif (zone_constant.IFA_DELIM in info):
                ifa_name = info.lstrip(zone_constant.IFA_DELIM)
                self.ifas.update({ifa_name: zoneinfo[(i + 1)]})
                i = (i + 2)
            elif (zone_constant.ACTIVE_CFG_DELIM in info):
                self.active_cfg = info.lstrip(zone_constant.ACTIVE_CFG_DELIM)
                if (self.active_cfg == zone_constant.DEFAULT_CFG):
                    self.active_cfg = ''
                i = (i + 2)
            else:
                i = (i + 1)
    except Exception as e:
        msg = (_('Error    while    changing    VF    context    %s.') % six.text_type(e))
        LOG.error(msg)
        raise exception.BrocadeZoningHttpException(reason=msg)
