RoyAalekh's picture
refactored project structure. renamed scheduler dir to src
6a28f91
from pathlib import Path
from cli.config import GenerateConfig
def merge_with_default_config(
default_cfg: GenerateConfig,
n_cases: int,
start_date,
end_date,
output_dir: str,
seed: int,
) -> GenerateConfig:
"""Merge UI values with the repo's default generate config."""
return GenerateConfig(
n_cases=n_cases or default_cfg.n_cases,
start=start_date or default_cfg.start,
end=end_date or default_cfg.end,
output=Path(output_dir) / "cases.csv" if output_dir else default_cfg.output,
seed=seed if seed is not None else default_cfg.seed,
)
def build_case_type_distribution(
rsa_pct: int,
rfa_pct: int,
crp_pct: int,
ca_pct: int,
ccc_pct: int,
cp_pct: int,
cmp_pct: int,
) -> dict[str, float]:
"""Convert percentage inputs into a probability distribution."""
total = rsa_pct + rfa_pct + crp_pct + ca_pct + ccc_pct + cp_pct + cmp_pct
if total == 0:
return {}
return {
"RSA": rsa_pct / total,
"RFA": rfa_pct / total,
"CRP": crp_pct / total,
"CA": ca_pct / total,
"CCC": ccc_pct / total,
"CP": cp_pct / total,
"CMP": cmp_pct / total,
}