#!/bin/bash
set -euo pipefail

LOCK=/run/flamethrower82-epg.lock

exec 9>"$LOCK"
flock -n 9 || {
    echo "EPG update already running"
    exit 0
}

echo "=== Schedules Direct ==="

sudo docker exec -u abc tvheadend sh -lc '
set -e

OUT=/config/.xmltv/schedulesdirect.xml
TMP=/config/.xmltv/schedulesdirect.xml.tmp

/usr/bin/tv_grab_zz_sdjson \
    --config-file /config/.xmltv/tv_grab_zz_sdjson.conf \
    --days 14 \
    --offset 0 \
    --output "$TMP"

test -s "$TMP"
mv -f "$TMP" "$OUT"
'

echo
echo "=== Unified XMLTV merge ==="

/srv/iptv/scripts/merge-xmltv.py

echo
echo "=== Result ==="

ls -lh /srv/iptv/guide.xml.gz
zgrep -c '<channel ' /srv/iptv/guide.xml.gz
zgrep -c '<programme ' /srv/iptv/guide.xml.gz
