Skip to content

Commit

Permalink
Merge branch 'main' into aleene-8396
Browse files Browse the repository at this point in the history
  • Loading branch information
aleene committed Dec 21, 2023
2 parents 911ca61 + 65e3886 commit 181f994
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 7 deletions.
9 changes: 6 additions & 3 deletions lib/ProductOpener/Ingredients.pm
Original file line number Diff line number Diff line change
Expand Up @@ -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}) {
Expand Down Expand Up @@ -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;
Expand All @@ -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
Expand Down
9 changes: 8 additions & 1 deletion scripts/imports/producers_imports.sh
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
./scripts/export_producers_platform_data_to_public_database.sh
12 changes: 9 additions & 3 deletions tests/unit/ingredients_parsing.t
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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"],
Expand All @@ -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) {
Expand Down

0 comments on commit 181f994

Please sign in to comment.