41 lines
1.0 KiB
Bash
Executable File
41 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# MTGJSON Data Maintenance Script
|
|
# This script handles data download, validation, and cleanup
|
|
set -e
|
|
|
|
echo "=== MTGJSON Data Maintenance ==="
|
|
echo "Starting maintenance at: $(date)"
|
|
|
|
# Run the download with sanity checks
|
|
echo "Running download with sanity checks..."
|
|
docker exec mtgonline_backend python -m app.services.mtgjson_manager --refresh --force
|
|
|
|
# Verify the download
|
|
echo ""
|
|
echo "Verifying data integrity..."
|
|
docker exec mtgonline_backend python -c "
|
|
import sys
|
|
sys.path.insert(0, '/app')
|
|
from app.services.mtgjson_manager import MTGJSONManager
|
|
from pathlib import Path
|
|
import asyncio
|
|
|
|
async def verify():
|
|
manager = MTGJSONManager(Path('/app/data/mtgjson'))
|
|
is_valid, issues = await manager.validate_data_integrity()
|
|
|
|
if is_valid:
|
|
print('✓ Data integrity check passed')
|
|
return 0
|
|
else:
|
|
print('✗ Data integrity check failed')
|
|
for issue in issues:
|
|
print(f' - {issue}')
|
|
return 1
|
|
|
|
sys.exit(asyncio.run(verify()))
|
|
"
|
|
|
|
echo ""
|
|
echo "=== Maintenance Complete ==="
|