Public/Scraping/Invoke-GalleryDLSaveGallery.ps1
function Invoke-GalleryDLSaveGallery { [CmdletBinding()] param ( [parameter(Mandatory,ValueFromPipeline,ValueFromPipelineByPropertyName)] [ValidateNotNullOrEmpty()] [String[]] $InputURLs, [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [String] $OutputFolder ) begin { $VenvFolder = Join-Path -Path $env:FM_PY_VENV -ChildPath 'GalleryDL' $ScriptsFolder = Join-Path -Path $VenvFolder -ChildPath 'Scripts' $ActivateScript = [System.IO.Path]::Combine($VenvFolder, 'Scripts', 'Activate.ps1') & $ActivateScript if(-not(Test-Path -LiteralPath $OutputFolder -PathType Container)){ New-Item -Path $OutputFolder -ItemType Directory | Out-Null } $GalleryDL = Get-Command "$ScriptsFolder\gallery-dl.exe" } process { foreach ($URL in $InputURLs) { $Params = '-d', $OutputFolder, $URL & $GalleryDL $Params } } end { & deactivate } } |