diff --git a/lib/ProductOpener/Ingredients.pm b/lib/ProductOpener/Ingredients.pm index 61794421eb9d7..313ff4439090f 100644 --- a/lib/ProductOpener/Ingredients.pm +++ b/lib/ProductOpener/Ingredients.pm @@ -5657,7 +5657,7 @@ sub develop_ingredients_categories_and_types ($ingredients_lc, $text) { # arôme naturel de citron-citron vert et d'autres agrumes # -> separate types - $text =~ s/($type_regexp)-($type_regexp)/$1, $2/g; + $text =~ s/($type_regexp)-($type_regexp)/$1, $2/ig; my $and = ' - '; if (defined $and{$ingredients_lc}) { @@ -5699,7 +5699,7 @@ sub develop_ingredients_categories_and_types ($ingredients_lc, $text) { } elsif ($ingredients_lc eq "fr") { # arôme naturel de pomme avec d'autres âromes - $text =~ s/ (ou|et|avec) (d')?autres /, /g; + $text =~ s/ (ou|et|avec) (d')?autres / et /g; $text =~ s/($category_regexp) et ($category_regexp)(?:$of)?($type_regexp)/normalize_fr_a_et_b_de_c($1, $2, $3)/ieg; @@ -5710,8 +5710,11 @@ sub develop_ingredients_categories_and_types ($ingredients_lc, $text) { # $text =~ s/($category_regexp)(?::|\(|\[| | de | d')+((($type_regexp)($symbols_regexp|\s)*( |\/| \/ | - |,|, | et | de | et de | et d'| d')+)+($type_regexp)($symbols_regexp|\s)*)\b(\s?(\)|\]))?/normalize_enumeration($ingredients_lc,$1,$2,$of_bool, $categories_and_types_ref->{alternate_names})/ieg; # Huiles végétales de palme, de colza et de tournesol + # warning: Nutella has "huile de palme, noisettes" -> we do not want "huiles de palme, huile de noisettes" + # require a " et " and/or " de " at the end of the enumeration + # $text - =~ s/($category_regexp)(?::| | de | d')+((($type_regexp)($symbols_regexp|\s)*( |\/| \/ | - |,|, | et | de | et de | et d'| d')+)+($type_regexp)($symbols_regexp|\s)*)\b/normalize_enumeration($ingredients_lc,$1,$2,$of_bool, $categories_and_types_ref->{alternate_names})/ieg; + =~ s/($category_regexp)(?::| | de | d')+((($type_regexp)($symbols_regexp|\s)*( |\/| \/ | - |,|, | et | de | et de | et d'| d')+)*($type_regexp)($symbols_regexp|\s)*( |\/| \/ | - |,|, )*( et | de | et de | et d'| d'| d'autres | et d'autres )( |\/| \/ | - |,|, )*($type_regexp)($symbols_regexp|\s)*)\b/normalize_enumeration($ingredients_lc,$1,$2,$of_bool, $categories_and_types_ref->{alternate_names})/ieg; # Huiles végétales (palme, colza et tournesol) $text diff --git a/scripts/imports/producers_imports.sh b/scripts/imports/producers_imports.sh index c48226d382a98..c745b769a89c7 100755 --- a/scripts/imports/producers_imports.sh +++ b/scripts/imports/producers_imports.sh @@ -1,6 +1,12 @@ #!/usr/bin/env bash export PERL5LIB="lib:${PERL5LIB}" +if [[ $(id -un) != "off" ]] +then + >&2 echo "ERROR: script must be launch with user off" + exit -1 +fi + # run import scripts PRODUCERS=( equadis @@ -10,10 +16,11 @@ PRODUCERS=( ) for PRODUCER in "${PRODUCERS[@]}" do + echo "STARTING $PRODUCER IMPORT SCRIPT" script_path="scripts/imports/${PRODUCER}/run_${PRODUCER}_import.sh" [[ -e $script_path ]] || >&2 echo "No script found for $PRODUCER" ./$script_path done # export -./scripts/export_producers_platform_data_to_public_database.sh \ No newline at end of file +./scripts/export_producers_platform_data_to_public_database.sh diff --git a/tests/unit/ingredients_parsing.t b/tests/unit/ingredients_parsing.t index ed80c19aa2805..286b631ebd53c 100755 --- a/tests/unit/ingredients_parsing.t +++ b/tests/unit/ingredients_parsing.t @@ -223,7 +223,7 @@ my @lists = ( "arôme naturel de citron, arôme naturel de citron vert, arôme naturel d'agrumes" ], ["fr", "arômes naturels de citron et de limette", "arômes naturels de citron, arômes naturels de limette"], - ["fr", "arôme naturel de pomme avec d'autres arômes naturels", "arôme naturel de pomme, arômes naturels"], + ["fr", "arôme naturel de pomme avec d'autres arômes naturels", "arôme naturel de pomme et arômes naturels"], ["fr", "jus de pomme, eau, sucre. Traces de lait.", "jus de pomme, eau, sucre. traces éventuelles : lait."], [ "fr", @@ -639,7 +639,7 @@ my @lists = ( "Huiles végétales de palme, de colza et de tournesol", "Huiles végétales de palme, Huiles végétales de colza, Huiles végétales de tournesol" ], - ["fr", "arôme naturel de pomme avec d'autres âromes", "arôme naturel de pomme, âromes"], + ["fr", "arôme naturel de pomme avec d'autres âromes", "arôme naturel de pomme et âromes"], ["fr", "Carbonate de magnésium, fer élémentaire", "Carbonate de magnésium, fer élémentaire"], ["fr", "huile végétale (colza)", "huile végétale de colza"], ["fr", "huile végétale : colza", "huile végétale de colza"], @@ -651,7 +651,13 @@ my @lists = ( ["en", "vegetable oil: palm", "palm vegetable oil"], # Should not develop the enumeration if it contains unknown types (like "sel" here) ["fr", "Piments (vert, rouge, jaune, sel)", "Piments (vert, rouge, jaune, sel)"], - + ["fr", "Huile de palme, noisettes et tournesol", "huile de palme, huile de noisettes, huile de tournesol"], + ["fr", "Huile de palme, noisettes", "huile de palme, noisettes"], + [ + "fr", + "arôme naturel de citron, citron vert et d'autres agrumes", + "arôme naturel de citron, arôme naturel de citron vert, arôme naturel d'agrumes" + ], ); foreach my $test_ref (@lists) {