param( [int]$Year = 2020, [string]$ReportingDeadline = "", [ValidateSet("month", "week")] [string]$Granularity = "month", [int]$PageSize = 500, [int]$MaxPagesPerSet = 200, [int]$SnapshotMaxRecordsPerSet = 5000, [string[]]$Keyword = @(), [string[]]$EntitySet = @(), [string]$ProfileOutput = "", [string]$SnapshotOutput = "", [switch]$Strict ) $ErrorActionPreference = "Stop" $EnvName = "ndc_1c_mvp" $EnvPython = Join-Path $env:USERPROFILE "miniconda3\envs\$EnvName\python.exe" if (-not (Test-Path $EnvPython)) { $EnvPython = Join-Path $env:USERPROFILE "Miniconda3\envs\$EnvName\python.exe" } if (-not (Test-Path $EnvPython)) { throw "Python for env '$EnvName' not found. Expected: $EnvPython" } $Args = @( "scripts/run_pre_report_snapshot.py", "--year", $Year.ToString(), "--granularity", $Granularity, "--page-size", $PageSize.ToString(), "--max-pages-per-set", $MaxPagesPerSet.ToString(), "--snapshot-max-records-per-set", $SnapshotMaxRecordsPerSet.ToString() ) if ($ReportingDeadline) { $Args += @("--reporting-deadline", $ReportingDeadline) } if ($ProfileOutput) { $Args += @("--profile-output", $ProfileOutput) } if ($SnapshotOutput) { $Args += @("--snapshot-output", $SnapshotOutput) } if ($Strict) { $Args += "--strict" } foreach ($Item in $Keyword) { if ($Item) { $Args += @("--keyword", $Item) } } foreach ($Name in $EntitySet) { if ($Name) { $Args += @("--entity-set", $Name) } } & $EnvPython @Args exit $LASTEXITCODE