Big Debug of PMOQobuz step 3

This commit is contained in:
2025-12-13 13:57:20 +01:00
parent 50693aaf7a
commit d2f6abf4bb
28 changed files with 1765 additions and 59 deletions

View File

@@ -0,0 +1,79 @@
#!/bin/bash
# Quick comparison script
echo "╔═══════════════════════════════════════════════════════════════╗"
echo "║ Python vs Rust - track_getFileUrl Comparison ║"
echo "╚═══════════════════════════════════════════════════════════════╝"
echo ""
echo "This script will help you compare the exact requests sent by"
echo "Python (working) vs Rust (failing) to find the difference."
echo ""
echo "Prerequisites:"
echo " - Terminal 1: Run fake_qobuz_server.py"
echo " - Terminal 2: Run this script"
echo ""
read -p "Press Enter when fake server is running in Terminal 1..."
echo ""
echo "══════════════════════════════════════════════════════════════"
echo " STEP 1: Testing Python"
echo "══════════════════════════════════════════════════════════════"
echo ""
# Patch for fake server
echo "→ Patching raw.py to use localhost:8080..."
python3 patch_for_fake.py
echo ""
echo "→ Running Python test..."
echo " (Watch Terminal 1 for the /track/getFileUrl request!)"
echo ""
python3 test_getfileurl.py
echo ""
echo "→ Restoring raw.py..."
python3 patch_for_fake.py restore
echo ""
echo "══════════════════════════════════════════════════════════════"
echo " Python test complete!"
echo "══════════════════════════════════════════════════════════════"
echo ""
echo "Did you see the /track/getFileUrl request in Terminal 1?"
echo "Make sure to COPY or SCREENSHOT it!"
echo ""
read -p "Press Enter when ready to test Rust..."
echo ""
echo "══════════════════════════════════════════════════════════════"
echo " STEP 2: Testing Rust"
echo "══════════════════════════════════════════════════════════════"
echo ""
echo "⚠️ MANUAL STEP REQUIRED:"
echo ""
echo "1. Edit pmoqobuz/src/api/mod.rs line ~32:"
echo " Change: const API_BASE_URL: &str = \"https://www.qobuz.com/api.json/0.2\";"
echo " To: const API_BASE_URL: &str = \"http://localhost:8080/api.json/0.2\";"
echo ""
echo "2. Compile and run:"
echo " cd .."
echo " cargo run --example lazy_loading"
echo ""
echo "3. Watch Terminal 1 for the /track/getFileUrl request!"
echo ""
echo "4. COMPARE with Python request!"
echo ""
echo "5. Don't forget to restore the URL in mod.rs when done!"
echo ""
echo "══════════════════════════════════════════════════════════════"
echo " Comparison tips:"
echo "══════════════════════════════════════════════════════════════"
echo ""
echo "Look for differences in:"
echo " • Order of form parameters"
echo " • Format of request_ts (timestamp)"
echo " • Presence of headers (Content-Type, etc.)"
echo " • Encoding of form data"
echo ""
echo "See COMPARISON_GUIDE.md for detailed instructions."
echo ""