Source code for aequilibrae.project.database_connection
import sqlite3
from pathlib import Path
from aequilibrae.context import get_active_project
from aequilibrae.utils.spatialite_utils import connect_spatialite
[docs]
def database_connection(db_type: str, project_path=None) -> sqlite3.Connection:
return connect_spatialite(database_path(db_type, project_path))
[docs]
def database_path(db_type: str, project_path=None) -> Path:
project_path = project_path or get_active_project().project_base_path
if db_type == "project" or db_type == "project_database" or db_type == "network":
db = "project_database"
elif db_type == "transit":
db = "public_transport"
elif db_type == "results":
db = "results_database"
else:
raise ValueError(f"unknown database type {db_type}")
return Path(project_path) / f"{db}.sqlite"