Changeset 2528


Ignore:
Timestamp:
Dec 3, 2011, 7:46:52 PM (8 years ago)
Author:
teymour
Message:

Optimisation pour mise à jour automatique (modified since)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpc/branches/senat/project/batch/commission/download_commission.pl

    r2233 r2528  
    66use Encode;
    77
     8#Prend en compte uniquement les pages de commission qui ont changé depuis moins de x heures (-1 pour désactiver)
     9$since_hour = shift || 24;
     10
    811mkdir "html" unless -e "html";
    912
    1013$a = WWW::Mechanize->new();
     14$aif = WWW::Mechanize->new();
     15$aif->add_header('If-Modified-Since' =>  scalar(localtime(time()-3600*$since_hour))) if ($since_hour > 0);
    1116$start = shift || '0';
    1217$count = 50;
     
    1924foreach $index (@indexes) {
    2025    chomp($index);
    21     eval {$a->get($index);};
    22     if ($a->status() == 404) {
     26    eval {$aif->get($index);};
     27    if ($aif->status() == 404) {
    2328        print "ERR: bad file in index : 404 on $index\n";
    2429        next;
    2530    }
    26     $content = $a->content;
     31    $content = $aif->content;
     32    if (!$content) {
     33        next;
     34    }
     35    $a->get($index);
    2736    $p = HTML::TokeParser->new(\$content);
    2837    while ($t = $p->get_tag('a')) {
     
    4655            $file =  uri_escape($uri);
    4756            if (-e "html/$file") { $a->back(); next; }
    48             print "$file\n";
    4957            open FILE, ">:utf8", "html/$file.tmp";
    5058            $thecontent = $a->content;
    51             if ($thecontent =~ s/iso-8859-1/utf-8/gi) {
    52               $thecontent = decode("windows-1252", $thecontent);
    53             }
    54             print FILE $thecontent;
    55             close FILE;
    56             rename "html/$file.tmp", "html/$file";
     59            if ($thecontent) {
     60                if ($thecontent =~ s/iso-8859-1/utf-8/gi) {
     61                    $thecontent = decode("windows-1252", $thecontent);
     62                }
     63                print FILE $thecontent;
     64                close FILE;
     65                rename "html/$file.tmp", "html/$file";
     66                print "$file\n";
     67            }
    5768            $a->back();
    5869        }
Note: See TracChangeset for help on using the changeset viewer.