mirror of
https://github.com/Dictionarry-Hub/schema.git
synced 2026-05-03 18:24:17 +02:00
56 lines
2.0 KiB
Bash
Executable File
56 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# validateQualities.sh - Validates qualities against Radarr and Sonarr source
|
|
|
|
set -e
|
|
|
|
RADARR_URL="https://raw.githubusercontent.com/Radarr/Radarr/develop/src/NzbDrone.Core/Qualities/Quality.cs"
|
|
SONARR_URL="https://raw.githubusercontent.com/Sonarr/Sonarr/develop/src/NzbDrone.Core/Qualities/Quality.cs"
|
|
QUAL_FILE="schema/2.qualities.sql"
|
|
|
|
echo "Fetching Radarr qualities..."
|
|
RADARR_QUALS=$(curl -s "$RADARR_URL" | grep -oP 'public static Quality \w+ => new Quality\(\d+, "\K[^"]+' | sort -u)
|
|
echo "Found Radarr qualities:"
|
|
echo "$RADARR_QUALS"
|
|
echo ""
|
|
|
|
echo "Fetching Sonarr qualities..."
|
|
# Sonarr has both => and getter patterns
|
|
SONARR_CONTENT=$(curl -s "$SONARR_URL")
|
|
SONARR_ARROW=$(echo "$SONARR_CONTENT" | grep -oP 'public static Quality \w+ => new Quality\(\d+, +"?\K[^",]+')
|
|
SONARR_GETTER=$(echo "$SONARR_CONTENT" | grep -oP 'return new Quality\(\d+, "\K[^"]+')
|
|
SONARR_QUALS=$(echo -e "$SONARR_ARROW\n$SONARR_GETTER" | grep -v '^$' | sort -u)
|
|
|
|
echo "Found Sonarr qualities:"
|
|
echo "$SONARR_QUALS"
|
|
echo ""
|
|
|
|
# Map Sonarr's remux naming to Radarr's
|
|
SONARR_QUALS=$(echo "$SONARR_QUALS" | sed 's/Bluray-1080p Remux/Remux-1080p/' | sed 's/Bluray-2160p Remux/Remux-2160p/' | sort -u)
|
|
|
|
echo "Extracting qualities from schema..."
|
|
SCHEMA_QUALS=$(grep -oP "(?<=\(')[^']+(?='\))" "$QUAL_FILE" | sort -u)
|
|
|
|
echo ""
|
|
echo "=== Radarr Validation ==="
|
|
RADARR_MISSING=$(comm -23 <(echo "$RADARR_QUALS") <(echo "$SCHEMA_QUALS"))
|
|
if [ -n "$RADARR_MISSING" ]; then
|
|
echo "✗ Missing Radarr qualities:"
|
|
echo "$RADARR_MISSING"
|
|
exit 1
|
|
else
|
|
echo "✓ All Radarr qualities present ($(echo "$RADARR_QUALS" | wc -l))"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Sonarr Validation ==="
|
|
SONARR_MISSING=$(comm -23 <(echo "$SONARR_QUALS") <(echo "$SCHEMA_QUALS"))
|
|
if [ -n "$SONARR_MISSING" ]; then
|
|
echo "✗ Missing Sonarr qualities:"
|
|
echo "$SONARR_MISSING"
|
|
exit 1
|
|
else
|
|
echo "✓ All Sonarr qualities present ($(echo "$SONARR_QUALS" | wc -l))"
|
|
fi
|
|
|
|
echo ""
|
|
echo "Total unique qualities in schema: $(echo "$SCHEMA_QUALS" | wc -l)" |