Add --tier1-count flag to ingest-cora command

Allows overriding the default random 10-12 tier1 article count
when creating a job file during CORA ingestion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
main
PeninsulaInd 2026-02-20 22:07:44 -06:00
parent 6b0278afd4
commit 0c559654b4
1 changed files with 19 additions and 15 deletions

View File

@ -80,7 +80,8 @@ def create_job_file_for_project(
tier1_branded_text: Optional[str] = None,
tier1_branded_plus_ratio: Optional[float] = None,
brand_names: Optional[List[str]] = None,
random_deployment_targets: Optional[int] = None
random_deployment_targets: Optional[int] = None,
tier1_count: Optional[int] = None
) -> Optional[str]:
"""
Create a job JSON file for a newly created project.
@ -94,6 +95,7 @@ def create_job_file_for_project(
tier1_branded_plus_ratio: Optional ratio of branded+ anchor text for tier1 (0.0-1.0, applied to remaining slots after branded)
brand_names: Optional list of brand names for branded+ generation
random_deployment_targets: Optional number of random deployment targets to select (default: random 2-3)
tier1_count: Optional override for tier1 article count (default: random 10-12)
Returns:
Path to created file, or None if creation failed
@ -112,7 +114,7 @@ def create_job_file_for_project(
click.echo("Warning: No domains with custom hostnames found. Job file not created.", err=True)
return None
t1_count = random.randint(10, 12)
t1_count = tier1_count if tier1_count is not None else random.randint(10, 12)
t2_count = random.randint(30, 45)
if random_deployment_targets is not None:
num_targets = min(random_deployment_targets, len(available_domains))
@ -1080,9 +1082,10 @@ def sync_sites(admin_user: Optional[str], admin_password: Optional[str], dry_run
@click.option('--tier1-branded-ratio', '-t', default=None, type=float, help='Ratio of branded anchor text for tier1 (optional, only prompts if provided)')
@click.option('--tier1-branded-plus-ratio', '-bp', default=None, type=float, help='Ratio of branded+ anchor text for tier1 (optional, applied to remaining slots after branded)')
@click.option('--random-deployment-targets', '-r', type=int, help='Number of random deployment targets to select (default: random 2-3)')
@click.option('--tier1-count', type=int, default=None, help='Number of tier1 articles (default: random 10-12)')
@click.option('--username', '-u', help='Username for authentication')
@click.option('--password', '-p', help='Password for authentication')
def ingest_cora(file_path: str, name: str, money_site_url: Optional[str], custom_anchors: Optional[str], tier1_branded_ratio: float, tier1_branded_plus_ratio: Optional[float], random_deployment_targets: Optional[int], username: Optional[str], password: Optional[str]):
def ingest_cora(file_path: str, name: str, money_site_url: Optional[str], custom_anchors: Optional[str], tier1_branded_ratio: float, tier1_branded_plus_ratio: Optional[float], random_deployment_targets: Optional[int], tier1_count: Optional[int], username: Optional[str], password: Optional[str]):
"""Ingest a CORA .xlsx report and create a new project"""
try:
if not username or not password:
@ -1204,7 +1207,8 @@ def ingest_cora(file_path: str, name: str, money_site_url: Optional[str], custom
tier1_branded_text=tier1_branded_text,
tier1_branded_plus_ratio=tier1_branded_plus_ratio,
brand_names=brand_names,
random_deployment_targets=random_deployment_targets
random_deployment_targets=random_deployment_targets,
tier1_count=tier1_count
)
if job_file:
click.echo(f"Job file created: {job_file}")