Changeset 2395


Ignore:
Timestamp:
Oct 17, 2011, 3:58:21 PM (9 years ago)
Author:
teymour
Message:

Amélioration du parser de jo

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpc/branches/senat/project/batch/jo/parse_jo.pl

    r2316 r2395  
    7070$lines =~ s/\n([^\s<]+)\s\n+(\S+)\n/\n$1 $2\n/g;
    7171$lines =~ s/(\d[erm]+ r|R)éunion /\n$1éunion /gi;
    72 $lines =~ s/\. / /g;
     72$lines =~ s/(\.|\;) /$1\n/g;
    7373
    7474foreach (split /\n/, $lines) {
     
    9393        $on = 0;
    9494    }
    95     if (/(<i>Excus|<i>Ont d|Ordre|<b>Convocation|<b>Nomination)/) {
     95    if (/(<i>Excus|<i>Ont d|Ordre|Convocation|Excusés|<b>Nomination)/) {
    9696        $on = 0;
    9797    }
    9898    if ($on && /\w/) {
    9999        foreach $d (split /\, / ) { #/
    100                     chomp($d);
    101                     if ($d =~ s/ (\S)\.//) {
    102                         $d = $1.' '.$d;
    103                     }
    104                     $d =~ s/\([^\)]+\)//;
    105                     next if ($d eq 'M');
    106                     print '{ ';
    107                     print '"date": "'.$date.'",';
    108                     print '"heure": "'.$heure.'",';
    109                     print '"commission": "'.$commission.'",';
    110                     print '"senateur": "'.$d.'",';
    111                     print '"source": "Journal officiel du '.$source.'"';
    112                     print " } \n";
     100            chomp($d);
     101            if ($d =~ s/ (\S)\.//) {
     102                $d = $1.' '.$d;
    113103            }
     104            $d =~ s/\([^\)]+\)//;
     105            $d =~ s/^\W+//;
     106            $d =~ s/\W+$//;
     107
     108            if ($d =~ s/(.*) (et |; |\d+| ?\. ?)(.*)/$1/) {
     109                $nextd = $3;
     110            }
     111            $d =~ s/( et|\W+)$//;
     112            $d =~ s/ ?- ?/-/;
     113            $d =~ s/  */ /;
     114
     115            next if (length($d) < 3);
     116            next if ($d =~ /^.\>/);
     117            print '{ ';
     118            print '"date": "'.$date.'",';
     119            print '"heure": "'.$heure.'",';
     120            print '"commission": "'.$commission.'",';
     121            print '"senateur": "'.$d.'",';
     122            print '"source": "Journal officiel du '.$source.'"';
     123            print " } \n";
     124            if ($nextd) {
     125                $d = $nextd;
     126                $d =~ s/ (et|\.)$//;
     127                $d =~ s/ ?- ?/-/;
     128                $d =~ s/  */ /;
     129                print '{ ';
     130                print '"date": "'.$date.'",';
     131                print '"heure": "'.$heure.'",';
     132                print '"commission": "'.$commission.'",';
     133                print '"senateur": "'.$d.'",';
     134                print '"source": "Journal officiel du '.$source.'"';
     135                print " } \n";
     136            }
     137        }
    114138    }
    115139    if (/<i>(Présents?\W|Assistai)/) {
Note: See TracChangeset for help on using the changeset viewer.