def from_string(cls, srcstring): match = cls.source_re.match(srcstring) if match is None: raise errors.BadSourceStringFormat("Invalid source string. " \ "Format should be " \ "'<name> <ra> <decl> <mag> [-- <notes>]'.") grps = match.groupdict() if utils.hms_re.match(grps['ra']): ra_deg = utils.hmsstr_to_deg(grps['ra']) else: ra_deg = float(grps['ra']) if utils.dms_re.match(grps['decl']): decl_deg = utils.dmsstr_to_deg(grps['decl']) else: decl_deg = float(grps['decl']) return BackgroundStar(grps['name'], ra_deg, decl_deg, \ float(grps['mag']), grps['notes'])
def from_string(cls, srcstring): match = cls.source_re.match(srcstring) if match is None: raise errors.BadSourceStringFormat("Invalid source string. " \ "Format should be " \ "'<name> [<ra> <decl>] [-- <notes>]'.") grps = match.groupdict() if (grps['ra'] is None) and (grps['decl'] is None): # Get position from 'psrcat' ra_deg, decl_deg = cls._get_posn_from_psrcat(grps['name']) else: grps['ra'] = grps['ra'].strip() grps['decl'] = grps['decl'].strip() if utils.hms_re.match(grps['ra']): ra_deg = utils.hmsstr_to_deg(grps['ra']) else: ra_deg = float(grps['ra']) if utils.dms_re.match(grps['decl']): decl_deg = utils.dmsstr_to_deg(grps['decl']) else: decl_deg = float(grps['decl']) return Source(grps['name'], ra_deg, decl_deg, grps['notes'])