Supports Flexible YAML paths from parent directory

This commit is contained in:
SimplifiedPrivacy 2026-07-01 10:06:14 -04:00
parent 74e22e7b60
commit 1d23b34ad6
5 changed files with 16 additions and 4 deletions

View file

@ -6,7 +6,7 @@ import os
@dataclass(frozen=True) @dataclass(frozen=True)
class Constants: class Constants:
DB_VERSION_THIS_APP_WANTS = 2 DB_VERSION_THIS_APP_WANTS = 1
# ticketing group: # ticketing group:
TICKET_API_BASE_URL: Final[str] = os.environ.get( TICKET_API_BASE_URL: Final[str] = os.environ.get(

View file

@ -27,11 +27,10 @@ def extract_from_nested(obj, yaml_keys, default=None):
This function removes unnecessary nesting, This function removes unnecessary nesting,
by comparing it to a pre-made YAML mapping by comparing it to a pre-made YAML mapping
""" """
def denormalize(data, which_yaml_file): def denormalize(data, mapping_file):
final_results = [] final_results = []
# prep the mapping config: # prep the mapping config:
mapping_file = f"assets/yaml_mappings/{which_yaml_file}"
with open(mapping_file) as f: with open(mapping_file) as f:
mapping = yaml.safe_load(f) mapping = yaml.safe_load(f)

View file

@ -5,6 +5,7 @@ from core.models.orm_models.Base import Base
from core.observers.ClientObserver import ClientObserver from core.observers.ClientObserver import ClientObserver
from core.observers.ConnectionObserver import ConnectionObserver from core.observers.ConnectionObserver import ConnectionObserver
from core.errors.logger import logger from core.errors.logger import logger
from core.utils.basic_operations.get_parent_directory import get_parent_directory
from typing import Optional from typing import Optional
import json import json
@ -29,8 +30,11 @@ def sync_one_orm_model(
new_data = api_result.get("data") new_data = api_result.get("data")
# prep data (denormalize) # prep data (denormalize)
parent_directory = get_parent_directory()
yaml_filename = f"{which_endpoint}.yaml" yaml_filename = f"{which_endpoint}.yaml"
denormalized_data = denormalize(new_data, yaml_filename) full_yaml_path = f"{parent_directory}/assets/yaml_mappings/{yaml_filename}"
denormalized_data = denormalize(new_data, str(full_yaml_path))
if denormalized_data: if denormalized_data:
# Debug Pretty print with indentation # Debug Pretty print with indentation

View file

@ -0,0 +1,8 @@
from pathlib import Path
import core
def get_parent_directory():
# Get core's parent directory
parent_directory = Path(core.__file__).parent.parent
return str(parent_directory)

View file

@ -37,6 +37,7 @@ dependencies = [
"pydantic_core==2.46.3", "pydantic_core==2.46.3",
"pydeps==3.0.6", "pydeps==3.0.6",
"pytokens==0.4.1", "pytokens==0.4.1",
"PyYAML==6.0.3",
"stdlib-list==0.12.0", "stdlib-list==0.12.0",
"SQLAlchemy==2.0.51", "SQLAlchemy==2.0.51",
"toolz==1.1.0", "toolz==1.1.0",