#!/bin/sh

set -eu

for corso in SA11 SA12 SA13 SA14 SA15
do
  sorgente="Tablet/$corso"
  destinazione="ArchivioDidattico/SAnna/$corso"

  echo
  echo "=== Migrazione di $corso ==="

  if [ -L "$sorgente" ]; then
    echo "$sorgente è già un link simbolico: salto."
    continue
  fi

  if [ ! -d "$sorgente" ]; then
    echo "ERRORE: $sorgente non esiste o non è una directory."
    exit 1
  fi

  if [ -e "$destinazione" ]; then
    echo "ERRORE: $destinazione esiste già."
    exit 1
  fi

  # Sposta la cartella reale nel nuovo archivio.
  mv "$sorgente" "$destinazione"

  # Crea la struttura interna.
  mkdir -p \
    "$destinazione/Pdf" \
    "$destinazione/Avi" \
    "$destinazione/Documenti"

  # Sposta PDF e AVI.
  find "$destinazione" -maxdepth 1 -type f -iname '*.pdf' \
    -exec mv {} "$destinazione/Pdf/" \;

  find "$destinazione" -maxdepth 1 -type f -iname '*.avi' \
    -exec mv {} "$destinazione/Avi/" \;

  # Sposta gli altri file regolari in Documenti.
  find "$destinazione" -maxdepth 1 -type f \
    -exec mv {} "$destinazione/Documenti/" \;

  # Ricrea nella radice i nomi storici come link simbolici.
  for file in "$destinazione"/Pdf/*
  do
    [ -e "$file" ] || continue
    ln -s "Pdf/$(basename "$file")" \
      "$destinazione/$(basename "$file")"
  done

  for file in "$destinazione"/Avi/*
  do
    [ -e "$file" ] || continue
    ln -s "Avi/$(basename "$file")" \
      "$destinazione/$(basename "$file")"
  done

  for file in "$destinazione"/Documenti/*
  do
    [ -e "$file" ] || continue
    ln -s "Documenti/$(basename "$file")" \
      "$destinazione/$(basename "$file")"
  done

  # Ripristina il vecchio percorso Tablet/SAxx.
  ln -s "../ArchivioDidattico/SAnna/$corso" "$sorgente"

  echo "$corso completato."
done
