#!/bin/bash
USB_STICK_PATH="/dev/Usb_Flash_Device"

TEST_PART=$(/sbin/fdisk -l $USB_STICK_PATH | grep -E "Usb_Flash_Device[1-9]+")
if [ $(( $(echo "$TEST_PART" | wc -l) )) -ne 1 ] || [ -z "$TEST_PART" ]
then
    #pas de partition, on teste si il y a un systeme de fichier valide au niveau device (cas des telephones et de certaines cles) 
    TEST_FAT=$(file -s $1 | grep FAT)
    TEST_DOS=$(file -s $1 | grep DOS)

    if [ "$TEST_FAT" != "" ] || [ "$TEST_DOS" != "" ]
    then  
        # un systeme de fichier valide au niveau racine, on fait comme avec une partition 
        ln -s $(basename $1) /dev/Usb_Flash 
        /usr/bin/usb_state_manager 1 $1
    else  
        # pas de systeme de fichier valide au niveau device 
        #  filter : do not send this signal if usb formatting is in progress. 
        TEST_FORMAT=`ps axc | grep usb_format*` 
        if [ "$TEST_FORMAT" == "" ] 
        then 
            /usr/bin/usb_state_manager 3 $1
        fi 
    fi 
fi
