46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
"""
|
|
Seed Data Path Utilities
|
|
Provides functions to locate seed data files for demo data creation
|
|
"""
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
def get_seed_data_path(profile: str, filename: str, child_profile: str = None, child_id: str = None) -> Path:
|
|
"""
|
|
Get the path to a seed data file.
|
|
|
|
Args:
|
|
profile: Demo profile (professional/enterprise)
|
|
filename: Seed data filename
|
|
child_profile: Not used (kept for API compatibility)
|
|
child_id: Optional child tenant ID for enterprise child locations
|
|
|
|
Returns:
|
|
Path to the seed data file
|
|
|
|
Raises:
|
|
FileNotFoundError: If seed data file cannot be found
|
|
"""
|
|
base_path = Path(__file__).parent.parent / "demo" / "fixtures"
|
|
|
|
if child_id:
|
|
# Enterprise child location: enterprise/children/{child_id}/{filename}
|
|
file_path = base_path / profile / "children" / child_id / filename
|
|
elif profile == "enterprise":
|
|
# Enterprise parent: enterprise/parent/{filename}
|
|
file_path = base_path / profile / "parent" / filename
|
|
else:
|
|
# Professional: professional/{filename}
|
|
file_path = base_path / profile / filename
|
|
|
|
if not file_path.exists():
|
|
raise FileNotFoundError(
|
|
f"Seed data file not found: {file_path}\n"
|
|
f"Profile: {profile}\n"
|
|
f"Child ID: {child_id}\n"
|
|
f"Filename: {filename}"
|
|
)
|
|
|
|
return file_path
|