* parse discovery information from one row on the TNS results page*

        **Key Arguments:**
            - ``content`` -- a table row from the TNS results page.

        **Return:**
            - ``discoveryData`` -- dictionary of results
            - ``TNSId`` -- the unique TNS id for the transient

def _parse_discovery_information(
            self,
            content):
        """* parse discovery information from one row on the TNS results page*

        **Key Arguments:**
            - ``content`` -- a table row from the TNS results page.

        **Return:**
            - ``discoveryData`` -- dictionary of results
            - ``TNSId`` -- the unique TNS id for the transient
        """
        self.log.info('starting the ``_parse_discovery_information`` method')

        # ASTROCALC UNIT CONVERTER OBJECT
        converter = unit_conversion(
            log=self.log
        )

        matches = re.finditer(
            r"""<tr class="row-.*?"><td class="cell-id">(?P<tnsId>\d*?)</td><td class="cell-name"><a href="(?P<objectUrl>.*?)">(?P<TNSName>.*?)</a></td><td class="cell-.*?<td class="cell-ra">(?P<raSex>.*?)</td><td class="cell-decl">(?P<decSex>.*?)</td><td class="cell-ot_name">(?P<specType>.*?)</td><td class="cell-redshift">(?P<transRedshift>.*?)</td><td class="cell-hostname">(?P<hostName>.*?)</td><td class="cell-host_redshift">(?P<hostRedshift>.*?)</td><td class="cell-source_group_name">(?P<discSurvey>.*?)</td>.*?<td class="cell-internal_name">(<a.*?>)?(?P<discoveryName>.*?)(</a>)?</td>.*?<td class="cell-discoverymag">(?P<discMag>.*?)</td><td class="cell-disc_filter_name">(?P<discMagFilter>.*?)</td><td class="cell-discoverydate">(?P<discDate>.*?)</td><td class="cell-discoverer">(?P<sender>.*?)</td>.*?</tr>""",
            content,
            flags=0  # re.S
        )
        discoveryData = []
        for match in matches:
            row = match.groupdict()
            for k, v in row.iteritems():
                row[k] = v.strip()
                if len(v) == 0:
                    row[k] = None
            if row["transRedshift"] == 0:
                row["transRedshift"] = None
            if row["TNSName"][0] in ["1", "2"]:
                row["TNSName"] = "SN" + row["TNSName"]
            row["objectUrl"] = "http://wis-tns.weizmann.ac.il" + \
                row["objectUrl"]

            # CONVERT COORDINATES TO DECIMAL DEGREES
            row["raDeg"] = converter.ra_sexegesimal_to_decimal(
                ra=row["raSex"]
            )
            row["decDeg"] = converter.dec_sexegesimal_to_decimal(
                dec=row["decSex"]
            )

            # IF THIS IS A COORDINATE SEARCH, ADD SEPARATION FROM
            # ORIGINAL QUERY COORDINATES
            if self.ra:
                # CALCULATE SEPARATION IN ARCSEC
                from astrocalc.coords import separations
                calculator = separations(
                    log=self.log,
                    ra1=self.ra,
                    dec1=self.dec,
                    ra2=row["raDeg"],
                    dec2=row["decDeg"],
                )
                angularSeparation, north, east = calculator.get()
                row["separationArcsec"] = angularSeparation
                row["separationNorthArcsec"] = north
                row["separationEastArcsec"] = east

            if not row["discSurvey"]:
                row["survey"] = row["sender"]

            del row["sender"]
            del row["tnsId"]
            row["TNSName"] = row["TNSName"].replace(" ", "")
            row["TNSId"] = row["TNSName"].replace(
                "SN", "").replace("AT", "")
            TNSId = row["TNSId"]

            # ORDER THE DICTIONARY FOR THIS ROW OF RESULTS
            orow = collections.OrderedDict()
            keyOrder = ["TNSId", "TNSName", "discoveryName", "discSurvey", "raSex", "decSex", "raDeg", "decDeg",
                        "transRedshift", "specType", "discMag", "discMagFilter", "discDate", "objectUrl", "hostName", "hostRedshift", "separationArcsec", "separationNorthArcsec", "separationEastArcsec"]
            for k, v in row.iteritems():
                if k not in keyOrder:
                    keyOrder.append(k)
            for k in keyOrder:
                try:
                    orow[k] = row[k]
                except:
                    self.log.info(
                        "`%(k)s` not found in the source data for %(TNSId)s" % locals())
                    pass
            discoveryData.append(row)

        self.log.info('completed the ``_parse_discovery_information`` method')
        return discoveryData[0], TNSId