Changeset 2585


Ignore:
Timestamp:
Jan 9, 2012, 5:18:52 AM (8 years ago)
Author:
goya
Message:

debug tout sauf mandats locaux qui peuvent patienter puisque pas en frontend

Location:
cpc/trunk/project/batch
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • cpc/trunk/project/batch/common/common.pm

    r2562 r2585  
    3838}
    3939
     40sub trim {
     41  $t = shift;
     42  $t =~ s/\s+/ /g;
     43  $t =~ s/^ //;
     44  $t =~ s/ $//;
     45  return $t;
     46}
  • cpc/trunk/project/batch/depute/parse_depute_new.pl

    r2579 r2585  
    3939  $end = shift;
    4040  $cause = shift;
    41   if ($cause =~ /(remplacement.*)\s*:\s*(.*)\s*$/i) {
     41  if ($cause =~ /(remplacement.*)\s*:\s*(.*)\s*$/i && $cause !~ /lection/i) {
    4242    $depute{'suppleant_de'} = $2;
    4343    $cause =~ s/\s*:\s*(.*)\s*$/ \(\1\)/;
    4444  }
     45  $cause =~ s/^É/é/;
     46  $cause =~ s/(du gouvernement) :.*$/\1/i;
    4547  $depute{'premiers_mandats'}{"$start / $end / ".lc($cause)} = 1;
    4648  $depute{'debut_mandat'} = max_date($start,$depute{'debut_mandat'});
     
    6870  } elsif (!$depute{'circonscription'} && $line =~ />([^<]*) \((\d+[èrme]+)( circonscription)?\)</i) {
    6971    $depute{'circonscription'} = "$1 ($2)";
    70   } elsif ($line =~ /Née? le ([0-9]*e?r? \S* [0-9]*)( [àau]+ (.*))?</i) {
     72  } elsif ($line =~ /Née? le ([0-9]+e?r? \S+ [0-9]+)( [àau]+ (.*))?</i) {
    7173    $depute{'date_naissance'} = join '/', reverse datize($1);
    72     $depute{'lieu_naissance'} = $3 if ($3 !~ /\(\)/);
     74    $lieu = $3;
     75    $lieu =~ s/\s*\(\)\s*//g;
     76    $lieu = trim($lieu);
     77    $depute{'lieu_naissance'} = $lieu if ($lieu !~ /^$/);
    7378    $read = "profession";
    7479  } elsif ($line =~ /title="Suppléant"/i) {
    7580    $read = "suppleant";
    7681  } elsif ($read !~ /^$/) {
    77     $depute{"$read"} = $1 if ($line =~ />([^<]+)</);
     82    $line =~ s/<[^>]+>//g;
     83    $line = trim($line);
     84    $depute{"$read"} = $line if ($line !~ /^$/);
    7885    if ($read =~ /suppleant/) {
    7986      $depute{"$read"} =~ s/[(,\s]+décédé.*$//i;
    8087      $depute{"$read"} =~ s/Mlle /Mme /;
     88      $depute{"$read"} =~ s/([A-ZÀÉÈÊËÎÏÔÙÛÜÇ])(\w+ ?)/\1\L\2/g;
    8189    }
    8290    $read = "";
     
    8896      $depute{'groupe'} = $groupe." / membre";
    8997    }
     98    $depute{'groupe'} .= "e" if ($depute{'sexe'} eq "F" && $depute{'groupe'} =~ /(président|apparenté)$/);
    9099  } elsif ($line =~ /img [^>]*class="deputy-profile-picture[^>]* src="([^"]+)"/i) {
    91100    $depute{'photo'} = "http://www.assemblee-nationale.fr$1";
     
    95104    $depute{'sites_web'}{$1} = 1;
    96105  } elsif ($line =~ /li class="contact-adresse">\s*([^\/]*)\s*<\/li>/i) {
    97     $depute{'adresses'}{$1} = 1;
     106    $depute{'adresses'}{trim($1)} = 1;
    98107  } elsif ($line =~ /"hemicycle-picture".*place occupée[\s:]+(\d+)[\s"]/i) {
    99108    $depute{'place_hemicycle'} = $1;
     
    129138        $tmporga =~ s/\W/./g;
    130139        $fonction =~ s/\s*(d[elau'\s]+)?$tmporga\s*//i;
    131         $depute{$encours}{"$lieu / $organisme / $fonction / $dates"} = 1;
     140        $depute{$encours}{trim($lieu)." / ".trim($organisme)." / ".trim($fonction)." / $dates"} = 1;
    132141      } elsif ($line =~ /^\s*(.[^A-Z\(]+) d(e la |[ue]s? |'|e l')([A-ZÀÉÈÊËÎÏÔÙÛÇ].*)$/) {
    133142#      } elsif ($line =~ /^\s*(.[^(A-ZÀÉÈÊËÎÏÔÙÛÇ]*) d([ue](s| la)? |'|e l')(\U.*)$/) {
     
    136145        $organisme = "Conseil de Paris" if ($lieu =~ s/ \(Département de Paris\)/ (Département)/);
    137146      } else {
     147        $line =~ s/Communauté Agglomération/Communauté d'agglomération/i;
    138148        $lieu = $line;
    139         if ($line =~ /^\s*c(ommunauté d[elau'\s]+\S+) (d[elasu'\s]+)?(\U.*)$/i) {
     149        if ($line =~ /^\s*c(ommunauté d?[elau'\s]*\S+) (d[elasu'\s]+)?(\U.*)$/i) {
    140150          $organisme = "C$1";
    141151          $lieu = $3;
     
    162172      }
    163173      $lieu =~ s/, (.*)$/ (\1)/;
    164       $depute{$encours}{"$lieu / $organisme / $fonction"} = 1;
     174      $depute{$encours}{trim($lieu)." / ".trim($organisme)." / ".trim($fonction)} = 1;
    165175    } elsif ($encours =~ /groupes/ && $line =~ s/^\s*(.*) : - //) {
    166176      $fonction = $1;
     
    168178      $type = "Groupe d'études " if ($type_groupe =~ /étude/i);
    169179      foreach $gpe (split / - /, $line) {
    170         $depute{$encours}{"$type$gpe / $fonction"} = 1;
     180        $depute{$encours}{$type.trim($gpe)." / ".lc(trim($fonction))} = 1;
    171181      }
    172182    } else {
     183      next if ($line =~ /Rapporteure? spécial/i);
    173184      if ($line =~ /^\s*(.*) \((.*) - mission débutée.*\)/i) {
    174185        $organisme = "Mission temporaire pour le $2 : $1";
    175         $fonction = "Chargé".($depute{'sexe'} eq "F" ? "e" : "")." de mission";
     186        $fonction = "chargé".($depute{'sexe'} eq "F" ? "e" : "")." de mission";
    176187      } else {
     188        next if ($line =~ /^Membre$/);
     189        $line =~ s/Comuté/Comité/ig;
     190        $line =~ s/dispostions/dispositions/ig;
     191        $line =~ s/(Membre titulaire) membre/\1/i;
     192        $line =~ s/par le Président de l'Assemblée nationale //;
    177193        $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/);
     194        $line =~ s/ \(art.*$//i;
     195        $line =~ s/^\((.*) de la commission de(s finances| la défense)\)/\1/i;
     196        $line =~ s/\((commission des finances)\)$/de la \1/i;
     197        $line =~ s/^\s*(\S+) Comité/\1 du Comité/i;
     198        $line =~ s/^\s*(\S+) (c?o?m?mission)/\1 de la \2/i;
     199        $fonction = lc($1) if ($line =~ s/^\s*((\S+\s*){1,3}(du [bB]ureau)?) d((u|e la) |e l')(.*)$/\6/);
    179200        $organisme = ucfirst($line);
    180201        $organisme =~ s/^(Assemblée nationale)/Bureau de l'\1/i;
    181       }
    182       $depute{$encours}{"$organisme / $fonction"} = 1;
     202        $organisme =~ s/(\s*"\s*|\(\s*|\s*\))//g;
     203      }
     204      $depute{$encours}{trim($organisme)." / ".trim($fonction)} = 1;
    183205    }
    184206  }
     
    221243  }
    222244}
    223 $depute{'nom_de_famille'} =~ s/^\s+//;
    224 $depute{'nom_de_famille'} =~ s/\s+$//;
    225 
     245$depute{'nom_de_famille'} = trim($depute{'nom_de_famille'});
    226246
    227247if ($yml) {
  • cpc/trunk/project/batch/depute/test_fields.sh

    r2579 r2585  
    3434
    3535grep -r "^      - " out.yml/ | sed 's/^.*\(.\)\.asp:      - //' | sort | uniq > test/arrays
    36 grep "@" test/arrays > test/emails.uniq
    37 grep "http" test/arrays > test/sites.uniq
    38 grep "Téléphone" test/arrays > test/adresses.uniq
    39 grep "- [0-9]\+\/[0-9]\+\/[0-9]\+ \/ " test/arrays | sort | uniq > test/premiersmandats.uniq
    40 grep -v "\(Téléphone|@\|http\|\- [0-9]\+\/[0-9]\+\/[0-9]\+ \/ \)" test/arrays > test/organismes
    41 cat test/organismes | awk -F " / " '{print $1}' | sort | uniq > test/organismes.uniq
    42 cat test/organismes | awk -F " / " '{print $2}' | sort | uniq > test/fonctions.uniq
    43 cat test/organismes | awk -F " / " '{print $3}' | sort | uniq > test/postes.uniq
    44 cat test/organismes | awk -F " / " '{print $4" / "$5}' | sort | uniq > test/dates.uniq
    45 #rm test/arrays test/organismes
     36grep "@" test/arrays > test/mails.uniq
     37grep "http" test/arrays > test/sites_web.uniq
     38grep "\([0-9]\{5\}\|[0-9][0-9] [0-9][0-9] [0-9][0-9]\)" test/arrays > test/adresses.uniq
     39grep "^[0-9]\+\/[0-9]\+\/[0-9]\+"  test/arrays > test/premiers_mandats.uniq
     40grep "^\([^0-9].*\)\? / .* / " test/arrays > test/mandats_locaux.uniq
     41grep "Groupe d'" test/arrays > test/groupes.uniq
     42grep -v "\(@\|http\|[0-9]\{5\}\|[0-9][0-9] [0-9][0-9] [0-9][0-9]\|^[0-9]\+\/[0-9]\+\/[0-9]\+\|^\([^0-9].*\)\? / .* / \|Groupe d'\)" test/arrays > test/allfonctions.uniq
     43
     44cat test/premiers_mandats.uniq | awk -F " / " '{print $3}' | sort | uniq > test/premiers_mandats_motifs.uniq
     45cat test/mandats_locaux.uniq | awk -F " / " '{print $1}' | sort | uniq > test/mandats_locauxlieux.uniq
     46cat test/mandats_locaux.uniq | awk -F " / " '{print $2}' | sort | uniq > test/mandats_locauxinstances.uniq
     47cat test/mandats_locaux.uniq | awk -F " / " '{print $3}' | sort | uniq > test/mandats_locauxpostes.uniq
     48cat test/groupes.uniq | awk -F " / " '{print $1}' | sort | uniq > test/groupes_noms.uniq
     49cat test/groupes.uniq | awk -F " / " '{print $2}' | sort | uniq > test/groupes_fonctions.uniq
     50cat test/allfonctions.uniq | awk -F " / " '{print $1}' | sort | uniq > test/allfonctions_organismes.uniq
     51cat test/allfonctions.uniq | awk -F " / " '{print $2}' | sort | uniq > test/allfonctions_fonctions.uniq
     52
     53#rm test/arrays
    4654
    4755echo "Vérifier les champs dans test :"
Note: See TracChangeset for help on using the changeset viewer.