Files

139 lines
4.4 KiB
PowerShell

# Verification script for Download Tools Installation
# Copyright (c) 2025 Eric Hiss
# This file is part of Download Tools and is licensed under CC BY-NC 4.0
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "Download Tools Installation Check" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""
# Get the script directory
$SCRIPT_DIR = Split-Path -Parent $MyInvocation.MyCommand.Path
Set-Location $SCRIPT_DIR
$allGood = $true
# Check Python
Write-Host "Checking Python..." -ForegroundColor Green
try {
$pythonVersion = & python --version 2>&1
Write-Host "✓ Python: $pythonVersion" -ForegroundColor Green
} catch {
Write-Host "✗ Python not found!" -ForegroundColor Red
$allGood = $false
}
# Check required packages
Write-Host ""
Write-Host "Checking Python packages..." -ForegroundColor Green
$packages = @(
"gallery_dl",
"yt_dlp",
"browser_cookie3",
"requests",
"tqdm",
"colorama",
"jsonschema"
)
foreach ($package in $packages) {
try {
$output = & python -c "import $package; print($package.__version__ if hasattr($package, '__version__') else 'installed')" 2>&1
if ($LASTEXITCODE -eq 0) {
Write-Host "✓ $package`: $output" -ForegroundColor Green
} else {
Write-Host "✗ $package not found" -ForegroundColor Red
$allGood = $false
}
} catch {
Write-Host "✗ $package not found" -ForegroundColor Red
$allGood = $false
}
}
# Check FFmpeg
Write-Host ""
Write-Host "Checking FFmpeg (optional)..." -ForegroundColor Green
try {
$ffmpegVersion = & ffmpeg -version 2>&1 | Select-Object -First 1
Write-Host "✓ FFmpeg: $ffmpegVersion" -ForegroundColor Green
} catch {
Write-Host "⚠ FFmpeg not found (optional, needed for audio extraction)" -ForegroundColor Yellow
}
# Check directory structure
Write-Host ""
Write-Host "Checking directory structure..." -ForegroundColor Green
$directories = @("nodes", "configs", "Docs")
foreach ($dir in $directories) {
if (Test-Path $dir) {
Write-Host "✓ $dir/ exists" -ForegroundColor Green
} else {
Write-Host "✗ $dir/ missing" -ForegroundColor Red
$allGood = $false
}
}
# Check key files
Write-Host ""
Write-Host "Checking key files..." -ForegroundColor Green
$files = @(
"__init__.py",
"requirements.txt",
"README.md",
"LICENSE.md",
"nodes\yt_dlp_downloader.py",
"nodes\gallery_dl_downloader.py"
)
foreach ($file in $files) {
if (Test-Path $file) {
Write-Host "✓ $file exists" -ForegroundColor Green
} else {
Write-Host "✗ $file missing" -ForegroundColor Red
$allGood = $false
}
}
# Check config files
Write-Host ""
Write-Host "Checking configuration files..." -ForegroundColor Green
$configFiles = Get-ChildItem -Path "configs" -Filter "*.conf" -ErrorAction SilentlyContinue
if ($configFiles.Count -gt 0) {
Write-Host "✓ Found $($configFiles.Count) config file(s)" -ForegroundColor Green
foreach ($config in $configFiles) {
Write-Host " - $($config.Name)" -ForegroundColor Gray
}
} else {
Write-Host "⚠ No .conf files in configs/" -ForegroundColor Yellow
Write-Host " This is OK if using default settings" -ForegroundColor Gray
}
# Final status
Write-Host ""
Write-Host "========================================" -ForegroundColor Cyan
if ($allGood) {
Write-Host "Installation Status: OK" -ForegroundColor Green
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""
Write-Host "✓ All required components are installed" -ForegroundColor Green
Write-Host ""
Write-Host "You can now:" -ForegroundColor Yellow
Write-Host "1. Restart ComfyUI" -ForegroundColor White
Write-Host "2. Find nodes under 'Download Tools' category" -ForegroundColor White
Write-Host "3. Start downloading media!" -ForegroundColor White
} else {
Write-Host "Installation Status: INCOMPLETE" -ForegroundColor Red
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""
Write-Host "Some components are missing. Please:" -ForegroundColor Yellow
Write-Host "1. Run install.ps1 to install dependencies" -ForegroundColor White
Write-Host "2. Check error messages above" -ForegroundColor White
Write-Host "3. Contact support if issues persist" -ForegroundColor White
}
Write-Host ""