Source code for ferc_xbrl_extractor.helpers
"""Helper functions."""
import logging
import sqlalchemy as sa
[docs]
def drop_tables(engine: sa.engine.Engine):
"""Drops all tables from a SQLite database.
Creates an sa.schema.MetaData object reflecting the structure of the
database that the passed in ``engine`` refers to, and uses that schema to
drop all existing tables.
Args:
engine: An SQL Alchemy SQLite database Engine
pointing at an exising SQLite database to be deleted.
Returns:
None
"""
logger = logging.getLogger(__name__)
logger.info("Dropping tables")
md = sa.MetaData()
md.reflect(engine)
md.drop_all(engine)
with engine.begin() as conn:
conn.exec_driver_sql("VACUUM")
[docs]
def get_logger(name: str) -> logging.Logger:
"""Helper function to append 'catalystcoop' to logger name and return logger."""
return logging.getLogger(f"catalystcoop.{name}")