#!/bin/bash
##################################################
# Fichier  : gg
# But      : lancer une recherche Google depuis la ligne de commande
# Détails  : 
#            
####################fin_entete####################
##################################################

# rechercher au cours :
# - du dernier jour : http://www.google.fr/search?q=reims+linux&hl=fr&tbs=qdr:d
# - de la dernière semaine  : http://www.google.fr/search?q=reims+linux&hl=fr&tbs=qdr:w
# - du dernier mois  : http://www.google.fr/search?q=reims+linux&hl=fr&tbs=qdr:m

# équivalent en python :
# http://code.activestate.com/recipes/573447-pygoogle/

# fonctions
function fn_rechercher ()
{
  echo $navigateur http://www.google.fr/#hl=fr\&source=hp\&q=$1+$2
  $navigateur http://www.google.fr/#hl=fr\&source=hp\&q=$1+$2${DATE_ANCIENNETE} &
}

function aide_gg () {
echo "Recherche google en ligne de commande"
echo ""
echo "Recherche sur la dernière journée :"
echo "  gg -d linux club reims"
echo "......................... semaine :"
echo "  gg -w linux club reims"
echo "............. le dernier mois :"
echo "  gg -m linux club reims"
echo ""
echo "Recherche simple :"
echo "  gg texte"
echo "  gg termes de recherche"
echo ""
echo "Bricolage :"
echo "  gg brico boite onglets"
echo ""
echo "Sites en .fr :"
echo "  gg f tf1"
echo ""
echo "Actualité :"
echo "  gg a coupe mode foot feminin"
echo ""
echo "Actualité :"
echo "  gg a coupe mode foot feminin"
echo ""
echo "Actualité :"
echo "  gg a coupe mode foot feminin"
echo ""
echo "Images :"
echo "  gg i raspberrypi"
echo ""
echo "Imdb (base données films libre) :"
echo "  gg im harry potter"
echo ""
echo "Paroles chanson :"
echo "  gg p avicii levels"
echo ""
echo "Ubuntu :"
echo "  gg u securite mot de passe"
echo ""
echo "Traduire :"
echo "  gg t leve-tot"
echo ""
echo "Videos :"
echo "  gg v securite mot de passe"
}



while getopts "djswmya" option
do
  echo "## getopts a trouvé l'option $option"
  case "$option" in
    d|jecho "ancienneté = journée (24 heures)"
       DATE_ANCIENNETE="&tbs=qdr:d"
       ;;
    s|wecho "ancienneté = semaine"
       DATE_ANCIENNETE="&tbs=qdr:w"
       ;;
    mecho "ancienneté = mois"
       DATE_ANCIENNETE="&tbs=qdr:m"
       ;;
    a|yecho "ancienneté = année"
       DATE_ANCIENNETE="&tbs=qdr:y"
       ;;
  esac
  shift $((OPTIND-1))
done


############
# variables
navigateur=firefox         # autres choix : xdg-open, chrome-browser
navigateur=chromium-browser
param1=$1

############
# divers
# zenity --info --title Information --text "Nom du script : $0" --timeout 2

TERMES0=`echo $* | sed 's/ /\+/g'`

############
# arguments
if $# -eq ] ; then
    echo "### un paramètre ###"
    param1=$1
    shift
elif $# -gt ] ; then
    echo "### 2 paramètres ou plus ###"
    param1=$1
    shift
else
    echo "### 0 paramètre ###"
    aide_gg
fi

# termes de recherche
TERMES=`echo $* | sed 's/ /\+/g'`
# alternative :
# TERMES=$(echo $* | tr ' ' '+') 



##################
# coeur du script
case ${param1} in
 a)
 echo "## Recherche google actualités ##"
 SITE=nwshp?hl=fr&tab=wn
 # [ "x$1" = "x" ] && firefox http://news.google.fr/nwshp?hl=fr&tab=wn
 # [ "x$1" = "x" ] && exit 1
 $navigateur http://news.google.fr/news/search?hl=fr\&source=hp\&q=${SITE}+${TERMES} &
 ;;

 brico|bricolage)
 echo "## Recherche achat bricolage ##"
 SITE=site:www.leroymerlin.fr
 $navigateur http://www.google.fr/search?hl=fr\&source=hp\&q=${SITE}+${TERMES} &
 SITE=site:www.castorama.fr
 $navigateur http://www.google.fr/search?hl=fr\&source=hp\&q=${SITE}+${TERMES} &
 SITE=site:www.bricodepot.fr/reims
 $navigateur http://www.google.fr/search?hl=fr\&source=hp\&q=${SITE}+${TERMES} &
 ;;

 g
 echo "## Recherche simple 1 param ##"
 $navigateur http://www.google.fr/#hl=fr\&source=hp\&q=${TERMES} &
 ;;

 f
 echo "## Recherche simple 1 param ##"
 $navigateur http://www.$1.fr &
 ;;

 i)
 echo "## Recherche images 800x600 minimum ##"
 SUFFIXE=\&btnG=Recherche+Google\&as_epq=\&as_oq=\&as_eq=\&as_sitesearch=\&safe=images\&as_st=y\&tbs=isch:1,isz:lt,islt:svga
 # 4mp : &btnG=Recherche+Google&as_epq=&as_oq=&as_eq=&as_sitesearch=&safe=images&as_st=y&tbs=isch:1,isz:lt,islt:4mp
 $navigateur http://www.google.fr/images?hl=fr\&source=hp\&q=${TERMES}${SUFFIXE} &
 ;;

 im)
 echo "## Recherche imdb ##"
 SITE=site%3Aimdb.com
 $navigateur http://www.google.fr/#hl=fr\&source=hp\&q=${SITE}+${TERMES} &
 ;;

 p)
 echo "## Recherche paroles ##"
 fn_rechercher lyricwiki ${TERMES}
 fn_rechercher chartlyrics ${TERMES}
 ;;

 pp)
 echo "## Recherche presse-papier ##"
 $0 $(xsel -b | head -1 | cut -c-100)
 ;;

 t)
 echo "## translate ##"
 $navigateur http://dictionnaire.reverso.net/anglais-francais/${TERMES} &
 ;;

 tde)
 echo "## translate DE ##"
 $navigateur http://dictionnaire.reverso.net/allemand-francais/${TERMES} &
 ;;

 u)
 echo "## Recherche forums ubuntu ##"
 SITE=site%3Ahttps%3A%2F%2Flists.ubuntu.com%2Farchives%2Fubuntu-fr
 $navigateur http://www.google.fr/#hl=fr\&source=hp\&q=${TERMES}+${SITE} &
 ;;

 v)
 echo "## Recherche google video ##"
 $navigateur http://www.google.fr/search?q=${TERMES}\&um=1\&ie=UTF-8\&tbo=u\&tbm=vid\&source=og\&sa=N\&hl=fr\&tab=wv &
 ;;

 *)
 echo "## Recherche simple au moins 2 params ##"
 echo "## option $1 inconnue ##"
 # $navigateur http://www.google.fr/#hl=fr\&source=hp\&q=$(echo $* | tr ' ' '+')
 # $navigateur http://www.google.fr/#hl=fr\&source=hp\&q=${TERMES0}
 fn_rechercher ${TERMES0}
 ;;

esac