Source code for koa_middleware.database.local_database
from .metadata_database import CalibrationDB
__all__ = ['LocalCalibrationDB']
[docs]
class LocalCalibrationDB(CalibrationDB):
"""
A class to interface with a local SQLite database for calibration data.
This class extends `CalibrationDB` and provides methods for interacting with a SQLite database
stored locally. It is designed to manage calibration metadata and facilitate data retrieval
and storage operations.
Attributes:
db_path (str): The file path to the SQLite database.
orm_class (type): The SQLAlchemy ORM class used for database interactions.
"""
def __init__(self, db_path : str, orm_class : type):
"""
Initializes the LocalCalibrationDB instance.
Args:
db_path (str): The absolute path to the SQLite database file (e.g., '/path/to/my_calibration.db').
orm_class (type): The SQLAlchemy ORM class that defines the table structure for the calibration data.
This class should inherit from `sqlalchemy.ext.declarative.declarative_base()`.
Example:
>>> from koa_middleware.database.orm_base import Base
>>> from sqlalchemy import Column, Integer, String
>>> class MyCalibration(Base):
... __tablename__ = 'my_calibrations'
... id = Column(Integer, primary_key=True)
... name = Column(String)
>>> db = LocalCalibrationDB('/tmp/test_cal.db', MyCalibration)
"""
url = f"sqlite:///{db_path}"
super().__init__(url, orm_class)