Skip to content

Commit

Permalink
formatting fixes and made logger stream to stdout
Browse files Browse the repository at this point in the history
  • Loading branch information
Exu-112 committed Jul 8, 2024
1 parent 06b6738 commit 83443d7
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 19 deletions.
60 changes: 44 additions & 16 deletions scripts/ingests/ultracool_sheet/Ingest_Parallax.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
from astrodb_utils import (
load_astrodb,
find_source_in_db,
AstroDBError,
)
from astrodb_utils import load_astrodb, find_source_in_db, AstroDBError
import sys

sys.path.append(".")
Expand All @@ -15,7 +11,21 @@
from simple.utils.astrometry import ingest_parallax
from scripts.ingests.ultracool_sheet.references import uc_ref_to_simple_ref

logger = logging.getLogger("AstroDB")

logger = logging.getLogger(__name__)

# Logger setup
# This will stream all logger messages to the standard output and
# apply formatting for that
logger.propagate = False # prevents duplicated logging messages
LOGFORMAT = logging.Formatter(
"%(asctime)s %(levelname)s: %(message)s", datefmt="%m/%d/%Y %I:%M:%S%p"
)
ch = logging.StreamHandler(stream=sys.stdout)
ch.setFormatter(LOGFORMAT)
# To prevent duplicate handlers, only add if they haven't been set previously
if len(logger.handlers) == 0:
logger.addHandler(ch)
logger.setLevel(logging.INFO)

DB_SAVE = False
Expand Down Expand Up @@ -47,10 +57,12 @@
multiple_sources = 0
ingested = 0
already_exists = 0
no_data = 0

# Ingest loop
for source in uc_sheet_table:
if isnan(source["plx_lit"]): # skip if no data
no_data += 1
continue
uc_sheet_name = source["name"]
match = find_source_in_db(
Expand All @@ -63,7 +75,7 @@
if len(match) == 1:
# 1 Match found. INGEST!
simple_source = match[0]
logger.info(f"Match found for {uc_sheet_name}: {simple_source}")
logger.debug(f"Match found for {uc_sheet_name}: {simple_source}")

try:
references = source["ref_plx_lit"].split(";")
Expand All @@ -86,21 +98,37 @@
ingested += 1
except AstroDBError as e:
msg = "ingest failed with error: " + str(e)
if "Duplicate measurement exists" not in str(e):
if "Duplicate measurement exists" in str(e):
already_exists += 1
else:
logger.warning(msg)
raise AstroDBError(msg) from e
already_exists += 1

elif len(match) == 0:
no_sources += 1
else:
elif len(match) > 1:
multiple_sources += 1
else:
msg = "Unexpected situation occured"
logger.error(msg)
raise AstroDBError(msg)


# 1108 data points in UC sheet in total
print(f"ingested:{ingested}") # 1013 ingested
print(f"already exists:{already_exists}") # skipped 6 due to preexisting data
print(f"no sources:{no_sources}") # skipped 86 due to 0 matches
print(f"multiple sources:{multiple_sources}") # skipped 2 due to multiple matches
print(f"total:{ingested+already_exists+no_sources+multiple_sources}") # 1108
if DB_SAVE:
logger.info(f"ingested:{ingested}") # 1013 ingested
logger.info(f"already exists:{already_exists}") # skipped 6 due to preexisting data
logger.info(f"no sources:{no_sources}") # skipped 86 due to 0 matches
logger.info(f"multiple sources:{multiple_sources}") # skipped 2 due to multiple matches
logger.info(f"no data: {no_data}")
logger.info(
f"data points tracked:{ingested+already_exists+no_sources+multiple_sources}"
) # 1108
total = ingested + already_exists + no_sources + multiple_sources + no_data
logger.info(f"total: {total}")

if total != len(uc_sheet_table):
msg = "data points tracked inconsistent with UC sheet"
logger.error(msg)
raise AstroDBError(msg)
elif DB_SAVE:
db.save_database(directory="data/")
2 changes: 2 additions & 0 deletions scripts/ingests/ultracool_sheet/references.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@


def uc_ref_to_simple_ref(db, ref):
if ref == "Harr15": # Reference with no ADS.
return ref
t = (
db.query(db.Publications)
.filter(db.Publications.c.bibcode == uc_ref_to_ADS[ref])
Expand Down
6 changes: 3 additions & 3 deletions simple/utils/astrometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ def ingest_parallax(
----------
db: astrodbkit2.astrodb.Database
Database object
sources: str
source: str
source name
parallax: float
parallax corresponding to the source
parallax of source in arcseconds
plx_err: float
parallax uncertainties
parallax uncertainty in arcseconds
reference: str
reference for the parallax data
comment: str
Expand Down

0 comments on commit 83443d7

Please sign in to comment.