[Linux-bruxelles] Consommation Scarlet

Gaëtan Frenoy gaetan at frenoy.net
Ven 17 Mar 10:50:16 CET 2006


Salut,

Le Sat, 11 Mar 2006 10:24:10 +0100, Gaëtan Frenoy a écrit:
> Est-ce que l'un d'entre vous aurait, par le plus grand des hasards,
> déjà écrit quelques lignes en perl et WWW::Mechanize pour récupérer son
> quota lu sur http://mon.scarlet.be et se l'envoyer par e-mail via un
> petit cron tous les matins ?

 Apparemment non.

 Pour info, j'ai écrit ceci (note: ne pas oublier de dire "waaoow" 
 tout haut) :

-----
#!/usr/bin/perl -w

use WWW::Mechanize;

my $username = 'votre_user';
my $password = 'votre_mot_de_passe';

my $m = WWW::Mechanize->new();
$m->get('http://customercare.scarlet.be/logon.do?language=fr');

$m->field('username', $username);
$m->field('password', $password);

$m->submit();

$m->follow_link(text => 'Consommation');

my $c = $m->content;

for ($c) {
  s#.*<tr>.*<th class="left">Total pour cette p.riode</th>(.*?)</tr>.*#$1#sgm;
  s/^\s+//;
  s/\s+$//;
  s/>[\s\n\r]+</></smg;
  s#<th class="digit">([0-9]+[,0-9]*) +GB</th>#$1\n#mg;
}
@res = split(/\n/, $c);

my $out = "Consommation :\n";
$out .= "Down  = ${res[0]} GB\n";
$out .= "Up    = ${res[1]} GB\n";
$out .= "Total = ${res[2]} GB\n";

print($out);
-----

 Puis j'ai tapé un petit fichier dans /etc/cron.d qui contient :
-----
18 07,12,20 * * * username /usr/local/sbin/get_conso.pl | mail -s "Consommation Scarlet" -a "From: Scarlet Checker <votre_email>" votre_email
-----

 Bon, c'est loin d'être top et à 1000 lieues de ce que j'imagine
 mais il faut bien commencer quelque part...

 Espérons que ça progresse, si quelqu'un a des idées/suggestions,
 elles sont les bienvenues.

 À bientôt.

-- 
Gaëtan




Plus d'informations sur la liste de diffusion Linux-bruxelles