Forum Astuces.divers [TEO] Être prévenu par mail quand on n'a plus de passage

Posté par  .
Étiquettes : aucune
2
14
nov.
2008
Je viens vous faire par d'une astuce que je me suis bricolé.

Cette astuce concerne surtout les lyonnais. TEO n'est pas le nom de quelqu'un, mais bien l'acronyme de Trans Est-Ouest.

Cette portion de périphérique est payante et il existe plusieurs solutions de paiement.

J'utilise la solution de paiement qui s'appelle Pass'14.

Le principe est de recharger une carte avec un certains nombre de passage. C'était la plus avantageuse pour moi financièrement. Le problème c'est quand j'oublie de le recharger je me retrouve face à la barrière et je dois passer par le guichet. Ce qui coûte un peu plus cher (pas beaucoup, mais à la longue…)

Pourtant leur système n'est pas mal fait car on est prévenu par un signal lumineux que notre nombre de passage restant est très bas.

C'est un bon rappelle mais personnellement, une fois arrivé au boulot, j'ai complètement oublié.

Donc j'ai réalisé un petit script qui vérifie le nombre de passage qui me reste et qui m'envoi un mail si ce nombre passe en dessous de 4. De cette manière je vois le message en arrivant au travail. J'ai mis le script dans mon crontab à la maison et voilà.

Je voulais partager ma modeste création car je pense qu'elle peut être utile à certain(e)s.

Le code est libre bien sûr (GPL). Si vous avez des suggestions elles sont les bienvenues.

Merci de votre attention. Voici le script :

# User Configuration
user=123456789
password=123456789
mail="toto@mail.com"

# DO NOT EDIT UNDER THIS COMMENT unless you know what you are doing
pluriel=""
url_id=http://www.peripheriquenord.com/Identification/Index.php
url_cpt=http://www.peripheriquenord.com/Compte/Index.php
cookie=tempcookie
# LOGIN and save cookie #
wget --keep-session-cookies --save-cookies $cookie -q \
--post-data="login=$user&pwd=$password" $url_id
# delete useless file
rm Index.php
# retrieve session id from cookie
session=`cat tempcookie | grep peripherique | cut -f 7`
# connect to account and get file
wget --load-cookies=$cookie -q $url_cpt \
--post-data="PHPSESSID=$session" -O teo.php
# extract the number of remaining passages
passages=`grep passage teo.php | cut -d '>' -f 3 | \
cut -d '<' -f 1 | cut -d ' ' -f 1`<br /> # if you have less than 4 passages left, I mail you<br /> if [ $passages -lt 4 ] ; then<br /> # grammar =)<br /> if [ $passages -gt 1 ] ; then<br /> pluriel="s"<br /> fi<br /> # mail<br /> echo "Il vous reste $passages passage$pluriel sur votre carte" \<br /> | mail -s "[Rechargment TEO]" $mail
fi
# cleaning...
rm teo.php tempcookie
  • # ça a l'air sympa...

    Posté par  . Évalué à 2.

    cependant, ...
    uuoc
    session=$(grep peripherique tempcookie | cut -f7)

    Je voudrais bien un sample de teo.php, parce que trois `cut` en tube, ce n'est pas optimum
    ...
    ?
    • [^] # Re: ça a l'air sympa...

      Posté par  . Évalué à 1.

      > session=$(grep peripherique tempcookie | cut -f7)

      Oui c'est beaucoup mieux que mon cat en effet.

      pour le sample :

      <TD align='right'><FONT color='White'>27 passage(s)</FONT></TD>

      Il n'y a qu'une seule fois le mot « passage » dans la page

      Merci pour tes suggestions.
      • [^] # Re: ça a l'air sympa...

        Posté par  . Évalué à 2.

        ce qui nous fait :

        passages=$(grep passage teo.php | sed 's/.*>\([0-9]\+\).*/\1/')

        Ainsi, sed mémorise avec \( \) un ou plusieurs chiffres, précédé par un >, lui même précédé par n'importe quoi, puis remplace la ligne par ce qu'il a mémorisé à la position 1.
        • [^] # Re: ça a l'air sympa...

          Posté par  . Évalué à 1.

          Excellent. Merci beaucoup. J'ai moins le réflexe de sed (qui demande de réfléchir un peu plus mais qui est tellement plus puissant).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.