#!/usr/bin/env bash

BASE_ROOT="https://ftp5.gwdg.de/pub/misc/openstreetmap"

for YEAR in 2013 2014 2015 2016; do
    BASE_URL="${BASE_ROOT}/FOSSGIS${YEAR}"
    SHORT_YEAR=${YEAR: -2}

    echo "-- Processing ${YEAR}" >&2

    curl -s "${BASE_URL}/" \
    | grep -oE 'href="[^"]+\.mp4"' \
    | sed -E 's/href="([^"]+)"/\1/' \
    | sort -u \
    | while IFS= read -r file; do

        # Extract talkid depending on pattern
        if [[ "$file" =~ ^FOSSGIS${SHORT_YEAR}-([0-9]+)- ]]; then
            talkid="${BASH_REMATCH[1]}"

        elif [[ "$file" =~ ^FOSSGIS${YEAR}-([0-9]+)- ]]; then
            talkid="${BASH_REMATCH[1]}"

        elif [[ "$file" =~ ^([0-9]+)- ]]; then
            talkid="${BASH_REMATCH[1]}"

        elif [[ "$file" =~ ^([0-9]+)\.mp4$ ]]; then
            talkid="${BASH_REMATCH[1]}"

        else
            echo "-- Skipping unknown pattern: $file" >&2
            continue
        fi

        echo "UPDATE event_event SET remotevideofile='${BASE_URL}/${file}' WHERE talkid='${talkid}' and slug LIKE 'fossgis%';"

    done

done