Changeset 2579


Ignore:
Timestamp:
Jan 7, 2012, 9:51:38 PM (8 years ago)
Author:
goya
Message:

some debug

Location:
cpc/trunk/project/batch/depute
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpc/trunk/project/batch/depute/parse_depute_new.pl

    r2562 r2579  
    7676  } elsif ($read !~ /^$/) {
    7777    $depute{"$read"} = $1 if ($line =~ />([^<]+)</);
     78    if ($read =~ /suppleant/) {
     79      $depute{"$read"} =~ s/[(,\s]+décédé.*$//i;
     80      $depute{"$read"} =~ s/Mlle /Mme /;
     81    }
    7882    $read = "";
    7983  } elsif ($line =~ /class="political-party[^>]*>([^<]+)</i) {
     
    101105    clean_vars();
    102106    $line =~ s/\s*<[^>]+>\s*//g;
    103     if ($line =~ /(Bureau|Commissions?|Missions? (temporaire|d'information)s?|Délégations? et Offices?)/i) {
     107    if ($line =~ /(Bureau|Commissions?|Missions? (temporaire|d'information)s?|Délégations? et Offices?)/) {
    104108      $encours = "fonctions";
    105     } elsif ($line =~ /(Organismes? extra-parlementaires?|Fonctions? dans les instances internationales ou judiciaires)/i) {
     109    } elsif ($line =~ /(Organismes? extra-parlementaires?|Fonctions? dans les instances internationales ou judiciaires)/) {
    106110      $encours = "extras";
    107111    } elsif ($line =~ /(Mandats? loca[lux]+ en cours|Mandats? intercommuna)/i) {
     
    120124    if ($encours =~ /anciensmandats/) {
    121125      if ($line =~ /du (\d+\/\d+\/\d+) au (\d+\/\d+\/\d+) \((.*)\)/i) {
    122         $depute{$encours}{"$lieu / $organisme / $3 / $1 / $2"} = 1;
    123       } elsif ($line =~ /^([^(]*) d[elau'\s]+([A-ZÀÉÈÊËÎÏÔÙÛÇ].*)$/) {
     126        $dates = "$1 / $2";
     127        $fonction = $3;
     128        $tmporga = lc($organisme);
     129        $tmporga =~ s/\W/./g;
     130        $fonction =~ s/\s*(d[elau'\s]+)?$tmporga\s*//i;
     131        $depute{$encours}{"$lieu / $organisme / $fonction / $dates"} = 1;
     132      } elsif ($line =~ /^\s*(.[^A-Z\(]+) d(e la |[ue]s? |'|e l')([A-ZÀÉÈÊËÎÏÔÙÛÇ].*)$/) {
     133#      } elsif ($line =~ /^\s*(.[^(A-ZÀÉÈÊËÎÏÔÙÛÇ]*) d([ue](s| la)? |'|e l')(\U.*)$/) {
    124134        $organisme = $1;
    125         $lieu = $2;
     135        $lieu = $3;
    126136        $organisme = "Conseil de Paris" if ($lieu =~ s/ \(Département de Paris\)/ (Département)/);
    127137      } else {
    128138        $lieu = $line;
    129         $organisme = "Communauté d'agglomération";
     139        if ($line =~ /^\s*c(ommunauté d[elau'\s]+\S+) (d[elasu'\s]+)?(\U.*)$/i) {
     140          $organisme = "C$1";
     141          $lieu = $3;
     142        } else {
     143          $organisme = "Communauté d'agglomération";
     144        }
    130145      }
    131146    } elsif ($encours =~ /autresmandats/) {
    132       $lieu = $4 if ($line =~ s/^(.*) d([ue](s| la)? |'|e l')([A-ZÀÉÈÊËÎÏÔÙÛÇ].*)$/\1/);
    133       $organisme = ucfirst($4) if ($line =~ s/^(.*) d((u|e la) |e l')(.*)$/\1/);
    134       $fonction = $line;
    135       $organisme = "Conseil municipal" if ($fonction =~ /Maire/i);
     147      if ($line =~ /^\s*(.*) (de la )?c(ommunauté d[elau'\s]+\S+) (d[elsau'\s]+)?(\U.*)$/i) {
     148        $organisme = "C$3";
     149        $lieu = $5;
     150        $fonction = $1;
     151      } else {
     152        $lieu = "";
     153        if ($line =~ s/^(.*) d([ue](s| la)? |'|e l')([A-ZÀÉÈÊËÎÏÔÙÛÇ].*)$/\1/) {
     154          $lieu = $4;
     155        } elsif ($line =~ s/^(.*)\(([A-ZÀÉÈÊËÎÏÔÙÛÇ].*)\)$/\1/) {
     156          $lieu = $2;
     157        }
     158        $line =~ s/\s+$//;
     159        $organisme = ucfirst($4) if ($line =~ s/^(.*) d((u|e la) |e l')(.*)$/\1/);
     160        $fonction = $line;
     161        $organisme = "Conseil municipal" if ($fonction =~ /Maire/i);
     162      }
    136163      $lieu =~ s/, (.*)$/ (\1)/;
    137164      $depute{$encours}{"$lieu / $organisme / $fonction"} = 1;
     
    144171      }
    145172    } else {
    146       $line =~ s/ (\(ex|depuis le) .*$//;
    147       $fonction = $1 if ($line =~ s/^\s*((\S+\s*){1,3}( du bureau)?) d((u|e la) |e l')(.*)$/\6/);
    148       $organisme = ucfirst($line);
    149       $organisme =~ s/^(Assemblée nationale)/Bureau de l'\1/i;
     173      if ($line =~ /^\s*(.*) \((.*) - mission débutée.*\)/i) {
     174        $organisme = "Mission temporaire pour le $2 : $1";
     175        $fonction = "Chargé".($depute{'sexe'} eq "F" ? "e" : "")." de mission";
     176      } else {
     177        $line =~ s/ (\(ex|depuis le) .*$//;
     178        $fonction = $1 if ($line =~ s/^\s*((\S+\s*){1,3}( du bureau)?) d((u|e la) |e l')(.*)$/\6/);
     179        $organisme = ucfirst($line);
     180        $organisme =~ s/^(Assemblée nationale)/Bureau de l'\1/i;
     181      }
    150182      $depute{$encours}{"$organisme / $fonction"} = 1;
    151183    }
  • cpc/trunk/project/batch/depute/test_fields.sh

    r2562 r2579  
    4343cat test/organismes | awk -F " / " '{print $3}' | sort | uniq > test/postes.uniq
    4444cat test/organismes | awk -F " / " '{print $4" / "$5}' | sort | uniq > test/dates.uniq
    45 rm test/arrays test/organismes
     45#rm test/arrays test/organismes
    4646
    4747echo "Vérifier les champs dans test :"
Note: See TracChangeset for help on using the changeset viewer.