Changeset 2429


Ignore:
Timestamp:
Oct 31, 2011, 1:43:31 AM (9 years ago)
Author:
komodo
Message:

debug hémicycle

Location:
cpc/branches/senat/project/batch
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpc/branches/senat/project/batch/common/common.pm

    r2226 r2429  
    4545$heure{'vingt'} = '20';
    4646$heure{'vingt et une'} = '21';
     47$heure{'vingt-et-une'} = '21';
    4748$heure{'vingt-deux'} = '22';
    4849$heure{'quarante'} = '45';
     
    5758sub heurize {
    5859        my $h = shift;
     60        $h =~ s/\W+$//;
    5961        $h =~ /(\S+) heures\s*(\S*)/;
    6062        return sprintf("%02d:%02d", $heure{$1}, $heure{$2});
  • cpc/branches/senat/project/batch/hemicycle/parse_hemicycle.pl

    r2426 r2429  
    5151                $context =~ s/ suite$//;
    5252                $context .= ' > '.$subcontext if ($subcontext);
     53                if ($resetcontexte) {
     54                        if (!$inter) {
     55                                $context = "";
     56                        } else {
     57                                $resetcontexte = 0;
     58                                if ($intervention !~ /séance.*reprise.*(poursuiv|continu|repren)ons.*(discussion|examen|débat)/) {
     59                                        $bigcontext = "";
     60                                        $subcontext = "";
     61                                        $context = "";
     62                                        $numeros_loi = '';
     63                                }
     64                        }       
     65                }
     66
    5367                $cpt = 0;
    5468                if ($context =~ /procès verbal|ordre du jour|Conf[&#\d;é]+rence des pr[&#\d;é]+sidents/i) {
     
    87101                $secondinter = '';
    88102                $secondinter = $1 if ($inter =~ s/ et (.*)//) ;
    89                 $json  = '{"contexte": "'.quotize($context).'", "intervention": "'.quotize($intervention).'", "timestamp": "'.$timestamp.'", "date": "'.$date.'", "source": "'.$url_source.$source.'", "heure":"'.$heure.'", "intervenant": "'.name_lowerize($inter).'", "fonction": "'.$fonction.'", "intervenant_url": "'.$url_inter.'", "session":"'.$session.'"';
     103                $json  = '{"contexte": "'.quotize($context).'", "intervention": "'.quotize($intervention).'", "timestamp": "'.$timestamp.'", "date": "'.$date.'", "source": "'.$url_source.$source.'", "heure":"'.$heure.'", "intervenant": "'.name_lowerize($inter,1).'", "fonction": "'.$fonction.'", "intervenant_url": "'.$url_inter.'", "session":"'.$session.'"';
    90104                $json .= ', "numeros_loi":"'.$numeros_loi.'"' if ($numeros_loi);
    91105                $json .= ', "amendements":"'.$amendements.'"' if ($amendements);
     
    94108                print $json;
    95109                if ($secondinter) {
    96                 $json  = '{"contexte": "'.quotize($context).'", "intervention": "'.quotize($intervention).'", "timestamp": "'.$timestamp.'", "date": "'.$date.'", "source": "'.$url_source.$source.'", "heure":"'.$heure.'", "intervenant": "'.name_lowerize($secondinter).'", "fonction": "", "intervenant_url": "'.$url_inter.'", "session":"'.$session.'"';
     110                $json  = '{"contexte": "'.quotize($context).'", "intervention": "'.quotize($intervention).'", "timestamp": "'.$timestamp.'", "date": "'.$date.'", "source": "'.$url_source.$source.'", "heure":"'.$heure.'", "intervenant": "'.name_lowerize($secondinter,1).'", "fonction": "", "intervenant_url": "'.$url_inter.'", "session":"'.$session.'"';
    97111                $json .= ', "numeros_loi":"'.$numeros_loi.'"' if ($numeros_loi);
    98112                $json .= ', "amendements":"'.$amendements.'"' if ($amendements);
     
    109123}
    110124
     125$doc =~ s/(class="titre_S1"[^>]*>[^<]*)\s*<[^\n]*\n[^\n]*class="titre_S1"[^>]*>\s*/\1 /g;
     126$resetcontexte = 0;
    111127foreach (split /\n/, $doc) {
     128    s/&(nbsp|#160);/ /ig;
     129    s/ n<sup>[0os\s]+<\/sup>\s*/ n° /ig;
    112130    utf8::decode($_);
    113131    $_ = decode_entities($_);
    114132    if (/<\/span><span([^>]*>)/ && $1 !~ /orateur_qualite/) {
    115133        s/<\/span><span[^>]*>/ /g;
     134        s/ ' /'/g;
    116135    }
    117         if (/name="([^"]+)"/) {
    118                 $source = "#$1";
    119         }
    120         if (/<span class="info_entre_parentheses">\((.*)<\/span>([\.\s\)]*)/) {
     136        if (/ (id|name)="([^"]+)"/) {
     137                $source = "#$2";
     138        }
     139        if (/<span class="info_entre_parentheses">\s*\((.*)<\/span>([\.\s\)]*)/) {
    121140                $didasc = $1;
     141                $didasc =~ s/\)$//;
     142                $didasc =~ s/vingt et une/vingt-et-une/gi;
    122143                if ($didasc =~ /(ouverte|reprise) (&#224;|à) (\S+ heures\s*\S*)\W/) {
    123144                        $h = heurize($3);
    124145                        ($htab) = split /:/, $h;
    125146                        if (!$heure || ($htab >= 14 && $oldhtab < 14) || ($htab >= 20 && $oldhtab < 20)) {
     147                            print_inter();
     148                            $resetcontexte = 1 if ($heure);
     149                            if (!$heure) {
     150                                $intervention = "<p>$didasc</p>";
     151                                $heure = $h;
     152                                print_inter();
     153                                next;
     154                            }
     155                            $intervention  = "<p>$didasc</p>";
    126156                            print_inter();
    127                             $heure = $h;
     157                            $heure = $h;
    128158                            $oldhtab = $htab;
    129159                            $timestamp = 0;
     
    131161                }
    132162        }
    133         if (/>[^a-z]*Pr(\&\#[0-9]+\;|é|É)sidence de (M[^<]*)/i) {
     163        if (/>[^a-z]*Pr(é|É)sidence de (M[^<]*)/i) {
    134164                $president = $2;
    135165        }
     
    172202                }
    173203        }
    174         while (s/([^>]*)<span class="info_entre_parentheses">\(([^\)]*)\)?<\/span>([\.\s\)]*)//) {
     204
     205        while (s/([^>]*)<span class="info_entre_parentheses">\(?([^\)]*)\)?<\/span>([\.\s\)]*)//) {
    175206                $i = $1;
    176207                $i =~ s/<[^>]*>//g;
    177                 $intervention .= "<p>".$1."</p>";
     208                $intervention .= "<p>".$i."</p>";
    178209                $didasc = $2;
    179210                $didasc =~ s/<[^>]*>//gi;
     
    202233                s/(<span.*|)<\/span>\s*//i;
    203234                s/\s+$//;
     235                s/\.\.+//g;
    204236                if ($_) {
    205237                        if ($iscontext) {
Note: See TracChangeset for help on using the changeset viewer.