#!/bin/bash

# This is script is run by nautilus to check if script ($1)
# supports concrete mime type ($2)

[ -z $1 ] && {
    echo "Please provide script name"
    exit 2
}

[ -z $2 ] && {
    echo "Please provide mime type"
    exit 2
}

nautilus_script=$1
mime_type=$2

[ -f $nautilus_script ] || {
    echo "$nautilus_script: No such file"
    exit 2
}


script_dir="/usr/share/nautilus/uncom-scripts/"
user_script_dir="$HOME/.local/share/nautilus/uncom-scripts/"

LOG="$HOME/.local/share/nautilus/.uncom_scripts.log"
date >> $LOG
echo $@ >> $LOG
#echo >> $LOG

# /home/beergood/.local/share/nautilus/scripts/pdfA_converter.sh image/png
echo "Analyzing script: $nautilus_script" >> $LOG
echo "mime type: $mime_type" >> $LOG
cat $nautilus_script | grep "#!filter" | grep $mime_type ; code=$?

if [ $code -eq 0 ]
then
    echo $nautilus_script | grep "$script_dir" ; codeSystem=$?
    if [ $codeSystem -eq 0 ]
    then echo "$mime_type supported, check override" >> $LOG
        name=`echo $nautilus_script | awk -F \/ {'print $NF'}`
        echo "name = $name" >> $LOG
        for action_file in `find "$user_script_dir" -type f`
        do
            echo "Found $action_file in user script dir" >> $LOG
            # Check if there is such filename in user_script_dir. If any - ignore system script
            nameUser=`echo $action_file | awk -F \/ {'print $NF'}`
            [[ "$name" == "$nameUser" ]] ; codeOverride=$?
            if [ $codeOverride -eq 0 ]
            then echo "$nautilus_script is overriden by $action_file" >> $LOG
                exit 1
            fi
        done
        echo "No override found, exit 0" >> $LOG
        exit 0
    else echo "$mime_type supported, exit 0" >> $LOG
        exit 0
    fi
else echo "$mime_type not supported, exit 1" >> $LOG
    exit 1
fi
