From c916a11f261a3a32066be84ebbf4ac5812d2e4f7 Mon Sep 17 00:00:00 2001 From: stoney420 Date: Sat, 28 Jun 2025 06:20:36 +0200 Subject: [PATCH] Update .forgejo/workflows/generate-m3u.yml --- .forgejo/workflows/generate-m3u.yml | 188 ++++++++++++++-------------- 1 file changed, 94 insertions(+), 94 deletions(-) diff --git a/.forgejo/workflows/generate-m3u.yml b/.forgejo/workflows/generate-m3u.yml index 60b3449..436d36e 100644 --- a/.forgejo/workflows/generate-m3u.yml +++ b/.forgejo/workflows/generate-m3u.yml @@ -10,107 +10,107 @@ jobs: build-and-organize: runs-on: ubuntu-22.04 steps: - - name: Checkout Repository - uses: actions/checkout@v4 + - name: Checkout Repository + uses: actions/checkout@v4 - - name: Configure Git - run: | - git config --local user.email "actions@forgejo.plainrock127.xyz" - git config --local user.name "IPTV Playlist Bot" + - name: Configure Git + run: | + git config --local user.email "actions@forgejo.plainrock127.xyz" + git config --local user.name "IPTV Playlist Bot" - - name: Basic Setup - run: | - echo "Setting up directories..." - mkdir -p reports/daily - echo "Setup completed" + - name: Basic Setup + run: | + echo "Setting up directories..." + mkdir -p reports/daily + echo "Setup completed" - - name: Check Import File - run: | - echo "Checking import file..." - if [ -f bulk_import.m3u ]; then - LINES=$(wc -l < bulk_import.m3u) - echo "Found bulk_import.m3u with $LINES lines" - else - echo "Creating empty bulk_import.m3u" - echo '#EXTM3U' > bulk_import.m3u - fi - - - name: Run Playlist Generation - run: | - echo "Running playlist generation..." - if [ -f scripts/generate_playlist.py ]; then - python3 scripts/generate_playlist.py - echo "Playlist generation completed" - else - echo "Error: generate_playlist.py not found" - exit 1 - fi - - - name: Create Simple Report - run: | - echo "Creating report..." - if [ -f playlist.m3u ]; then - CHANNELS=$(grep -c "^#EXTINF" playlist.m3u || echo "0") - echo "Found $CHANNELS channels in playlist" - - DATE=$(date +%Y%m%d_%H%M%S) - REPORT="reports/daily/report_$DATE.md" - - echo "# Playlist Report" > "$REPORT" - echo "Generated: $(date)" >> "$REPORT" - echo "Channels: $CHANNELS" >> "$REPORT" - - echo "Report created: $REPORT" - else - echo "No playlist found" - fi - - - name: Clean Old Reports - run: | - echo "Cleaning old reports..." - cd reports/daily - # Count markdown files - if ls *.md >/dev/null 2>&1; then - COUNT=$(ls *.md | wc -l) - echo "Found $COUNT reports" - if [ "$COUNT" -gt 3 ]; then - echo "Removing excess reports..." - ls -t *.md | tail -n +4 | xargs rm -f - echo "Cleanup done" + - name: Check Import File + run: | + echo "Checking import file..." + if [ -f bulk_import.m3u ]; then + LINES=$(wc -l < bulk_import.m3u) + echo "Found bulk_import.m3u with $LINES lines" + else + echo "Creating empty bulk_import.m3u" + echo '#EXTM3U' > bulk_import.m3u fi - else - echo "No reports to clean" - fi - cd ../.. - - name: Reset Import File - run: | - echo "Resetting import file..." - echo '#EXTM3U' > bulk_import.m3u - echo "Import file reset" + - name: Run Playlist Generation + run: | + echo "Running playlist generation..." + if [ -f scripts/generate_playlist.py ]; then + python3 scripts/generate_playlist.py + echo "Playlist generation completed" + else + echo "Error: generate_playlist.py not found" + exit 1 + fi - - name: Commit Changes - run: | - echo "Committing changes..." - git add . - if git diff --staged --quiet; then - echo "No changes to commit" - else - CHANNELS="0" + - name: Create Simple Report + run: | + echo "Creating report..." if [ -f playlist.m3u ]; then CHANNELS=$(grep -c "^#EXTINF" playlist.m3u || echo "0") + echo "Found $CHANNELS channels in playlist" + + DATE=$(date +%Y%m%d_%H%M%S) + REPORT="reports/daily/report_$DATE.md" + + echo "# Playlist Report" > "$REPORT" + echo "Generated: $(date)" >> "$REPORT" + echo "Channels: $CHANNELS" >> "$REPORT" + + echo "Report created: $REPORT" + else + echo "No playlist found" fi - git commit -m "📺 Updated playlist with $CHANNELS channels - $(date '+%Y-%m-%d %H:%M')" - git push - echo "Changes committed" - fi - - name: Summary - run: | - echo "=== WORKFLOW COMPLETE ===" - if [ -f playlist.m3u ]; then - CHANNELS=$(grep -c "^#EXTINF" playlist.m3u || echo "0") - echo "✅ Playlist has $CHANNELS channels" - fi - echo "✅ Reports updated" - echo "✅ Repository cleaned" \ No newline at end of file + - name: Clean Old Reports + run: | + echo "Cleaning old reports..." + cd reports/daily + # Count markdown files + if ls *.md >/dev/null 2>&1; then + COUNT=$(ls *.md | wc -l) + echo "Found $COUNT reports" + if [ "$COUNT" -gt 3 ]; then + echo "Removing excess reports..." + ls -t *.md | tail -n +4 | xargs rm -f + echo "Cleanup done" + fi + else + echo "No reports to clean" + fi + cd ../.. + + - name: Reset Import File + run: | + echo "Resetting import file..." + echo '#EXTM3U' > bulk_import.m3u + echo "Import file reset" + + - name: Commit Changes + run: | + echo "Committing changes..." + git add . + if git diff --staged --quiet; then + echo "No changes to commit" + else + CHANNELS="0" + if [ -f playlist.m3u ]; then + CHANNELS=$(grep -c "^#EXTINF" playlist.m3u || echo "0") + fi + git commit -m "📺 Updated playlist with $CHANNELS channels - $(date '+%Y-%m-%d %H:%M')" + git push + echo "Changes committed" + fi + + - name: Summary + run: | + echo "=== WORKFLOW COMPLETE ===" + if [ -f playlist.m3u ]; then + CHANNELS=$(grep -c "^#EXTINF" playlist.m3u || echo "0") + echo "✅ Playlist has $CHANNELS channels" + fi + echo "✅ Reports updated" + echo "✅ Repository cleaned" \ No newline at end of file