139 lines
4.4 KiB
PowerShell
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 ""
|