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
parent
6b0278afd4
commit
0c559654b4
|
|
@ -80,7 +80,8 @@ def create_job_file_for_project(
|
||||||
tier1_branded_text: Optional[str] = None,
|
tier1_branded_text: Optional[str] = None,
|
||||||
tier1_branded_plus_ratio: Optional[float] = None,
|
tier1_branded_plus_ratio: Optional[float] = None,
|
||||||
brand_names: Optional[List[str]] = 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]:
|
) -> Optional[str]:
|
||||||
"""
|
"""
|
||||||
Create a job JSON file for a newly created project.
|
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)
|
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
|
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)
|
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:
|
Returns:
|
||||||
Path to created file, or None if creation failed
|
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)
|
click.echo("Warning: No domains with custom hostnames found. Job file not created.", err=True)
|
||||||
return None
|
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)
|
t2_count = random.randint(30, 45)
|
||||||
if random_deployment_targets is not None:
|
if random_deployment_targets is not None:
|
||||||
num_targets = min(random_deployment_targets, len(available_domains))
|
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-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('--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('--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('--username', '-u', help='Username for authentication')
|
||||||
@click.option('--password', '-p', help='Password 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"""
|
"""Ingest a CORA .xlsx report and create a new project"""
|
||||||
try:
|
try:
|
||||||
if not username or not password:
|
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_text=tier1_branded_text,
|
||||||
tier1_branded_plus_ratio=tier1_branded_plus_ratio,
|
tier1_branded_plus_ratio=tier1_branded_plus_ratio,
|
||||||
brand_names=brand_names,
|
brand_names=brand_names,
|
||||||
random_deployment_targets=random_deployment_targets
|
random_deployment_targets=random_deployment_targets,
|
||||||
|
tier1_count=tier1_count
|
||||||
)
|
)
|
||||||
if job_file:
|
if job_file:
|
||||||
click.echo(f"Job file created: {job_file}")
|
click.echo(f"Job file created: {job_file}")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue