#!/bin/sh
# dmc - dynamic mail client
# See LICENSE file for copyright and license details.
# TODO: rewrite in C

MD=$1
if [ -z "${MD}" ]; then
  echo "Usage: dmc-mdir [Maildir-path]"
  exit 1
fi

mdir_ls () {
  echo "cur $(ls $1/cur | wc -l)" > /dev/stderr
  echo "new $(ls $1/new | wc -l)" > /dev/stderr
  echo "tmp $(ls $1/tmp | wc -l)" > /dev/stderr
}

dir=/
folder=""
while : ; do
  read A
  arg0=`echo $A | cut -d ' ' -f 1`
  arg1=`echo $A | cut -d ' ' -f 2-`
  case $arg0 in
  "ls")
    mdir_ls $MD/$dir
    echo "### 1 ls"
    ;;
  "lsd")
    ( cd $MD/$dir ; ls -d .??* | cat ) > /dev/stderr
    echo "### 1 lsd"
    ;;
  "cat")
    fold=`echo $arg1|cut -d / -f 1`
    arg1=`echo $arg1|cut -d / -f 2`
    if [ -z "$arg1" ]; then
      echo "### 0 cat Usage cat [cur|new|tmp]/[mail-index]"
    else
      file=$(ls $MD/$dir/$fold | head -n $arg1 | tail -n 1)
      file="$MD/$dir/$fold/$file"
      if [ -f "$file" ]; then
        cat $file > /dev/stderr
        echo "### 1 cat"
      else
        echo "### 0 cat No such file '$file'"
      fi
    fi
    ;;
  "head")
    dmc-hdr : < $(ls $MD/$dir/tmp | head -n $arg1 | tail -n 1) > /dev/stderr
    echo "### 1 head" 
    ;;
  "rm")
    file=$(ls $MD/$dir | head -n $arg1 | tail -n 1)
    if [ -f "$file" ]; then
      rm -f $file
      echo "### 1 rm"
    else
      echo "### 0 rm No such file"
    fi
    ;;
  "pwd")
    echo $dir > /dev/stderr
    echo "### 1 pwd $dir"
    ;;
  "login")
    # ignore
    echo "### 1 login Successful"
    ;;
  "exit")
    echo "### 1 exit ciao ciao"
    exit 0
    ;;
  "cd")
    dir=$arg1
    ;;
  *)
    echo "Usage: ls lsd cat head rm cd pwd login exit"
    ;;
  esac
done
