From a8160913409095775ceb02fd8d8eb0941f544e55 Mon Sep 17 00:00:00 2001 From: stoney420 Date: Fri, 27 Jun 2025 23:38:39 +0200 Subject: [PATCH] Update .forgejo/workflows/generate-m3u.yml --- .forgejo/workflows/generate-m3u.yml | 79 +++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/generate-m3u.yml b/.forgejo/workflows/generate-m3u.yml index 4b66d9a..d9bda12 100644 --- a/.forgejo/workflows/generate-m3u.yml +++ b/.forgejo/workflows/generate-m3u.yml @@ -37,6 +37,20 @@ jobs: echo "❌ scripts/generate_playlist.py missing" fi + if [ -d scripts ]; then + echo "✅ scripts/ directory found" + echo " Scripts directory contents:" + ls -la scripts/ + else + echo "❌ scripts/ directory missing" + fi + + if [ -f scripts/__init__.py ]; then + echo "✅ scripts/__init__.py found (Python package)" + else + echo "⚠️ scripts/__init__.py missing - will create" + fi + if [ -f channels.txt ]; then echo "✅ channels.txt found ($(wc -l < channels.txt) lines)" else @@ -49,10 +63,49 @@ jobs: echo "ℹ️ bulk_import.m3u not found (normal if no import)" fi + - name: 🔧 Setup Python package structure + run: | + echo "=== Setting up Python package structure ===" + + # Create __init__.py if it doesn't exist + if [ ! -f scripts/__init__.py ]; then + echo "Creating scripts/__init__.py..." + cat > scripts/__init__.py << 'EOF' +""" +IPTV Playlist Generator Scripts Package +Modular components for playlist generation and management. +""" + +__version__ = "2.0.0" +__author__ = "IPTV Playlist Generator" +EOF + fi + + # Create config directory + mkdir -p config + mkdir -p backups + mkdir -p reports + + echo "✅ Package structure ready" + - name: 🚀 Generate M3U Playlist run: | echo "=== Running playlist generation ===" - python scripts/generate_playlist.py + + # Change to scripts directory and run + cd scripts + python generate_playlist.py + + # Move generated files back to root if needed + if [ -f playlist.m3u ]; then + mv playlist.m3u ../ + fi + if [ -f playlist_update.log ]; then + mv playlist_update.log ../ + fi + + # Go back to root + cd .. - name: 📊 Check results run: | @@ -62,6 +115,7 @@ jobs: if [ -f playlist.m3u ]; then CHANNEL_COUNT=$(grep -c "^#EXTINF" playlist.m3u || echo "0") echo "✅ playlist.m3u generated with $CHANNEL_COUNT channels" + echo "File size: $(du -h playlist.m3u | cut -f1)" echo "First 5 lines:" head -5 playlist.m3u else @@ -69,11 +123,23 @@ jobs: fi if [ -f playlist_update.log ]; then - echo "=== Log content ===" - cat playlist_update.log + echo "=== Log content (last 50 lines) ===" + tail -50 playlist_update.log else echo "❌ No log file found" fi + + # Check for generated reports + if [ -d reports ] && [ "$(ls -A reports)" ]; then + echo "=== Generated Reports ===" + ls -la reports/ + fi + + # Check for config files + if [ -d config ] && [ "$(ls -A config)" ]; then + echo "=== Config Files ===" + ls -la config/ + fi - name: 💾 Commit and push changes run: | @@ -82,11 +148,14 @@ jobs: # Pull latest changes first to avoid conflicts git pull origin main || echo "Pull failed, continuing anyway" - # Add files + # Add files (including new modular structure) + git add scripts/ || true git add channels.txt || true git add playlist.m3u || true git add playlist_update.log || true git add config/ || true + git add reports/ || true + git add backups/ || true git add docs/ || true # Check if anything to commit @@ -99,7 +168,7 @@ jobs: fi echo "📝 Committing changes..." - git commit -m "📺 Updated playlist: $CHANNEL_COUNT channels ($(date '+%Y-%m-%d %H:%M'))" + git commit -m "📺 Updated playlist: $CHANNEL_COUNT channels ($(date '+%Y-%m-%d %H:%M')) [Modular v2.0]" # Try to push, with retry if needed echo "🚀 Pushing changes..."