* parse astorb database file*

        **Key Arguments:**
            - ``astorbgz`` -- path to the downloaded astorb database file

        **Return:**
            - ``astorbDictList`` -- the astorb database parsed as a list of dictionaries

def _parse_astorb_database_file(
            self,
            astorbgz):
        """* parse astorb database file*

        **Key Arguments:**
            - ``astorbgz`` -- path to the downloaded astorb database file

        **Return:**
            - ``astorbDictList`` -- the astorb database parsed as a list of dictionaries
        """
        self.log.info('starting the ``_parse_astorb_database_file`` method')

        print "Parsing the astorb.dat orbital elements file"

        with gzip.open(astorbgz, 'rb') as f:
            thisData = f.read()

        astorbDictList = []

        lines = thisData.split("\n")
        for l in lines:

            if len(l) < 50:
                continue
            d = {}

            # PARSE THE LINE FROM astorb.dat (UNNEEDED VALUES COMMENTED OUT)
            d["mpc_number"] = l[0:7].strip()
            d["name"] = l[7:26].strip()
            d["discoverer"] = l[26:41].strip()
            d["H_abs_mag"] = l[41:48].strip()
            d["G_slope"] = l[48:54].strip()
            d["color_b_v"] = l[54:59].strip()
            d["diameter_km"] = l[59:65].strip()
            d["class"] = l[65:71].strip()
            # d["int1"] = l[71:75].strip()
            # d["int2"] = l[75:79].strip()
            # d["int3"] = l[79:83].strip()
            # d["int4"] = l[83:87].strip()
            # d["int5"] = l[87:91].strip()
            # d["int6"] = l[91:95].strip()
            d["orbital_arc_days"] = l[95:101].strip()
            d["number_obs"] = l[101:106].strip()
            d["epoch"] = l[106:115].strip()
            d["M_mean_anomaly_deg"] = l[115:126].strip()
            d["o_arg_peri_deg"] = l[126:137].strip()
            d["O_long_asc_node_deg"] = l[137:148].strip()
            d["i_inclination_deg"] = l[148:158].strip()
            d["e_eccentricity"] = l[158:169].strip()
            d["a_semimajor_axis"] = l[169:182].strip()
            d["orbit_comp_date"] = l[182:191].strip()
            d["ephem_uncertainty_arcsec"] = l[191:199].strip()
            d["ephem_uncertainty_change_arcsec_day"] = l[199:208].strip()
            d["ephem_uncertainty_date"] = l[208:217].strip()
            # d["peak_ephem_uncertainty_next_arcsec"] = l[217:225].strip()
            # d["peak_ephem_uncertainty_next_date"] = l[225:234].strip()
            # d["peak_ephem_uncertainty_10_yrs_from_ceu_arcsec"] = l[
            #     217:225].strip()
            # d["peak_ephem_uncertainty_10_yrs_from_ceu_date"] = l[
            #     242:251].strip()
            # d["peak_ephem_uncertainty_10_yrs_from_peu_arcsec"] = l[
            #     251:259].strip()
            # d["peak_ephem_uncertainty_10_yrs_from_peu_date"] = l[
            #     259:].strip()

            yyyy = int(d["epoch"][:4])
            mm = int(d["epoch"][4:6])
            dd = int(d["epoch"][6:])
            d["epoch_xeph"] = "%(mm)s/%(dd)s/%(yyyy)s" % locals()

            # CONVERT ASTORB DATABASE LINE TO XEPHEM DATABASE FORMAT
            xephemStr = "%(mpc_number)s %(name)s,e,%(i_inclination_deg)s,%(O_long_asc_node_deg)s,%(o_arg_peri_deg)s,%(a_semimajor_axis)s,0,%(e_eccentricity)s,%(M_mean_anomaly_deg)s,%(epoch_xeph)s,2000.0,%(H_abs_mag)s,%(G_slope)s" % d
            xephemStr = xephemStr.strip()

            d["pyephem_string"] = xephemStr
            d["astorb_string"] = l

            # TIDYUP
            if len(d["mpc_number"]) == 0:
                d["mpc_number"] = None

            for k, v in d.iteritems():
                if v != None and len(v) == 0:
                    d[k] = None

            astorbDictList.append(d)

        print "Finshed parsing the astorb.dat orbital elements file"

        self.log.info('completed the ``_parse_astorb_database_file`` method')
        return astorbDictList