From ebe9516557ccff09afc2769782027bea027b3acf Mon Sep 17 00:00:00 2001 From: Maxime REIS Date: Sun, 27 Jul 2025 19:26:27 +0200 Subject: [PATCH] =?UTF-8?q?Voici=20les=20Bl=C4=9Bkt=C5=99s=20pour=20schtro?= =?UTF-8?q?umpfer=20les=20bidules.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- product_definitions.csv | 33 + scripts/renew_lineup.py | 65 ++ scripts/subber.py | 14 + templates/Aromate.svg | 1373 ++++++++++++++++++++++++ templates/Chocolat.svg | 1291 ++++++++++++++++++++++ templates/Confiture.svg | 1440 +++++++++++++++++++++++++ templates/Pesto.svg | 1424 +++++++++++++++++++++++++ templates/Sel.svg | 1431 +++++++++++++++++++++++++ templates/Sirop.svg | 2249 +++++++++++++++++++++++++++++++++++++++ templates/Tisane.svg | 1392 ++++++++++++++++++++++++ 10 files changed, 10712 insertions(+) create mode 100644 product_definitions.csv create mode 100755 scripts/renew_lineup.py create mode 100644 scripts/subber.py create mode 100644 templates/Aromate.svg create mode 100644 templates/Chocolat.svg create mode 100644 templates/Confiture.svg create mode 100644 templates/Pesto.svg create mode 100644 templates/Sel.svg create mode 100644 templates/Sirop.svg create mode 100644 templates/Tisane.svg diff --git a/product_definitions.csv b/product_definitions.csv new file mode 100644 index 0000000..7e03359 --- /dev/null +++ b/product_definitions.csv @@ -0,0 +1,33 @@ +aromate;Herbes de Provence;Thym*, Sarriette*, Origan*;Le classique des herbes aromatiques pour donner une touche méditerranéenne à vos plats.;6307a6;Aromate - Herbes de Provence - Thym Sarriette Origan.svg;True +aromate;Origan;Origan*;La fameuse herbe à pizza, mais qui peut aussi assaisonner vos soupes, plats mijotés, poissons ou charcuteries.;4800b9;Aromate - Origan.svg;True +aromate;Sarriette;Sarriette des montagnes*;Le pèbre d'aï s'utilise en cuisine dans les pommes de terre, champignons, ragoûts de légumes, riz...;00d40e;Aromate - Sarriette.svg;True +aromate;Sauge;Sauge officinale*;La plante qui sauve peut être utilisée en cuisine, dans vos viandes en sauce, légumes, vinaigrettes...;d00676;Aromate - Sauge.svg;True +aromate;Thym;Thym*;Le roi des aromates, à utiliser en branche ou effeuillé, pour agrémenter vos grillades, plats en sauce, poêlées...;0048ff;Aromate - Thym.svg;True +confiture;Confiture d'Abricot;Abricot*, Sucre de canne*;;ff5d00;Confiture - Abricot.svg;True +confiture;Confiture d'Abricot;Abricot, Sucre de canne*;;ff5d00;Confiture - Abricot - Non Bio.svg;False +confiture;Confiture d'Abricot Lavande;Abricot, Lavande*, Sucre de canne*;;9683ec;Confiture - Abricot Lavande - Non Bio.svg;False +confiture;Gelée Extra de Groseille;Groseille*, Sucre de canne*;;ec001a;Gelée Extra - Groseille.svg;True +confiture;Gelée Extra de Cassis;Cassis*, Sucre de canne*;;9b00ff;Gelée Extra - Cassis.svg;True +confiture;Marmelade d'Orange Amère; Oranges amères, Sucre de canne*, eau;;ff5d00;Marmelade - Orange Amère - Non Bio.svg;False +pesto;Pesto de Livèche;Huile d'olive*, Livèche* (34%), *amandes*, jus de citron*, ail*, sel;;119200;Pesto - Livèche.svg;True +pesto;Pesto d'Ail des Ours;Huile d'olive*, Ail des ours* (34%), *Amandes*, Jus de citron*, Sel;;196b00;Pesto - Ail des Ours.svg;True +sirop;Lavande;Sucre* (55%), Infusion de lavande* (42%), Jus de citron* (3%);;4200ff;Sirop - Lavande.svg;True +sirop;Thym;Sucre* (55%), Infusion de thym* (42%), Jus de citron* (3%);;0048ff;Sirop - Thym.svg;True +sirop;Mélisse;Sucre* (55%), Infusion de mélisse* (42%), Jus de citron* (3%);;d00676;Sirop - Mélisse.svg;True +sirop;Menthe Verte;Sucre* (55%), Infusion de menthe verte* (42%), Jus de citron* (3%);;007e49;Sirop - Menthe Verte.svg;True +sirop;Menthe et Mélisse;Sucre* (55%), Infusion de menthe verte* et mélisse* (42%), Jus de citron* (3%);;fabf12;Sirop - Menthe et Mélisse.svg;True +sirop;Sureau;Sucre* (55%), Infusion de sureau* (42%), Jus de citron* (3%);;8aa700;Sirop - Sureau.svg;True +sirop;Romarin;Sucre* (55%), Infusion de romarin* (42%), Jus de citron* (3%);;007d87;Sirop - Romarin.svg;True +tisane;J'ai Bien Mangé...; Thym*, Sauge*, Romarin*, Soucis*;;0c7c00;Tisane - Digestion - Thym Sauge Romarin Soucis.svg;True +tisane;Nuit Étoilée;Agastache*, Mélisse*, Aubépine*;;5b7aff;Tisane - Nuit Étoilée - Agastache Mélisse Aubépine.svg;True +tisane;Nuit Étoilée;Mélisse*, Lavande*, Aubépine*;;5b7aff;Tisane - Nuit Étoilée - Mélisse Lavande Aubépine.svg;True +tisane;Réconfort de la Gorge; Origan*, Agastache*, Thym*, Bleuet*;;00a07b;Tisane - Réconfort de la Gorge - Origan Agastache Thym Bleuet.svg;True +tisane;Équilibre Féminin;Achillée millefeuille*, Lavande vraie*, Cynorhodon*;;64139f;Tisane - Équilibre Féminin - Achillée millefeuille Lavande vraie Cynorhodon.svg;True +tisane;Équilibre Féminin;Achillée millefeuille*, Lavande vraie*, Ortie piquante*;;64139f;Tisane - Équilibre Féminin - Achillée millefeuille Lavande vraie Ortie piquante.svg;True +tisane;Équilibre Féminin;Achillée millefeuille*, Lavande vraie*, Pétales de Cynorhodon*;;64139f;Tisane - Équilibre Féminin - Achillée millefeuille Lavande vraie Pétales de Cynorhodon.svg;True +tisane;Équilibre Féminin;Achillée millefeuille*, Lavande vraie*, Sauge officinale*, Ortie piquante*;;64139f;Tisane - Équilibre Féminin - Achillée millefeuille Lavande vraie Sauge officinale Ortie piquante.svg;True +tisane;Joie de Vivre;Basilic sacré*, Sarriette des montagnes*, Lavande vraie*;;ff6d00;Tisane - Joie de Vivre - Basilic Sacré Sarriette des Montagnes Lavande Vraie.svg;True +sel;Grillades - Viande et Légumes;Sel de Camargue, Thym*, Origan*, Sarriette*, Mélisse*, Souci*;;c80003;Sel - Grillades.svg;True +sel;Herbes de Provence;Sel de Camargue, Thym*, Origan*, Sarriette*, Romarin*;;6307a6;Sel - Herbes de Provence.svg;True +sel;Poisson et Viande Blanche;Sel de Camargue, Thym*, Sauge*, Agastache*, Bleuet*;;5b7aff;Sel - Poisson et Viande Blanche.svg;True +chocolat;Menthe Poivrée;"Chocolat de couverture noir* (pâte de cacao*, sucre de canne*, beurre de cacao*; peut contenir : *lait), *crème entière* (crème de lait à 30% de matière grasse*, stabilisants : carraghénanes), menthe poivrée*";;007e49;Chocolat - Menthe Poivrée.svg;True diff --git a/scripts/renew_lineup.py b/scripts/renew_lineup.py new file mode 100755 index 0000000..2211b8b --- /dev/null +++ b/scripts/renew_lineup.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 + +import argparse +from string import Template +import sys +import os +import csv +from subber import Subber + +TEMPLATES_DIR = "/home/maxime/Documents/Anne/Etiquettes/Source SVGs/templates" +OUT_DIR = "/home/maxime/Documents/Anne/Etiquettes/Source SVGs/autogenerated_svgs" + +JAM_DESIGNATION_FONTSIZE_DEFAULT = 42.6667 +JAM_DESIGNATION_FONTSIZE_SMALL = 36 + + +templates = { + 'aromate': f"{TEMPLATES_DIR}/Aromate.svg", + 'chocolat': f"{TEMPLATES_DIR}/Chocolat.svg", + 'confiture': f"{TEMPLATES_DIR}/Confiture.svg", + 'pesto': f"{TEMPLATES_DIR}/Pesto.svg", + 'sirop': f"{TEMPLATES_DIR}/Sirop.svg", + 'tisane': f"{TEMPLATES_DIR}/Tisane.svg", + 'sel': f"{TEMPLATES_DIR}/Sel.svg", +} + +ALLERGEN_BEGIN_STYLE = '' +ALLERGEN_END_STYLE = '' + + +def parse_args(): + parser = argparse.ArgumentParser(description='Renew whole lineup from template and list of subs') + parser.add_argument('--list', required=True, help='Lineup file') + + return parser.parse_args() + + +def main(): + args = parse_args() + + with open(args.list) as csvfile: + reader = csv.reader(csvfile, delimiter=';', quotechar='"') + for row in reader: + template = templates[row[0]] + outfile = f"{OUT_DIR}/{row[5]}" + with open(outfile, 'w') as out: + # TODO Fix bold formatting with allergen and parenthesis + ingredients = [e.strip() for e in row[2].split(',')] + ingredients = [e if not e.startswith('*') else ALLERGEN_BEGIN_STYLE + e[1:] + ALLERGEN_END_STYLE for e in ingredients] + ingredients_sub = ", ".join(ingredients) + AB_logo_visibility = 'inline' if row[6] == 'True' else 'none' + subs = { + 'designation': row[1].strip(), + 'ingredients': ingredients_sub, + 'description': row[3].strip(), + 'color': row[4], + 'AB': AB_logo_visibility, + 'designation_fontsize': JAM_DESIGNATION_FONTSIZE_DEFAULT, + } + s = Subber(subs) + s.sub(template, out) + + +if __name__ == "__main__": + main() diff --git a/scripts/subber.py b/scripts/subber.py new file mode 100644 index 0000000..f185789 --- /dev/null +++ b/scripts/subber.py @@ -0,0 +1,14 @@ +from string import Template + + +class Subber(): + + def __init__(self, subs): + self.subs = subs + + def sub(self, infile, outfile): + with open(infile) as template: + lines = template.readlines() + data = ''.join(lines) + + outfile.write(Template(data).safe_substitute(self.subs)) diff --git a/templates/Aromate.svg b/templates/Aromate.svg new file mode 100644 index 0000000..2b08049 --- /dev/null +++ b/templates/Aromate.svg @@ -0,0 +1,1373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AROMATE + AROMATE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + POIDS NET :${q}gLOT $lot + + + + UTILISATION + + + + + COMPOSITION + + + Culture et cueillette à la maindans les Alpes de Haute-Provence + Aromate Biologique des Monges + + www.unbrindefolie.net + + 06 95 96 61 08 + + Lieu-dit Lèbre, 04200, Authon + Anne Brogi - "Un Brin de Folie" + + + À conserver dans un endroit sec, à l'abri de +la lumière. +À consommer de préférence avant : ${dluo} +*Produits issus de l'agriculture biologique. + + + ${description} + ${ingredients} + ${designation} + + diff --git a/templates/Chocolat.svg b/templates/Chocolat.svg new file mode 100644 index 0000000..c5143b9 --- /dev/null +++ b/templates/Chocolat.svg @@ -0,0 +1,1291 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + POIDS NET :${q}gLOT $lot + + + www.unbrindefolie.net + + 06 95 96 61 08 + + Lieu-dit Lèbre, 04200, Authon + Anne Brogi - "Un Brin de Folie" + + + À conserver dans un endroit sec, à l'abri de +la lumière. +À consommer de préférence avant : ${dluo} +*Produits issus de l'agriculture biologique. + + + + + + + COMPOSITION + + + ${ingredients} + + + Culture et cueillette à la maindans les Alpes de Haute-Provence + Chocolataux plantes biologiques des Monges + ${designation} + + diff --git a/templates/Confiture.svg b/templates/Confiture.svg new file mode 100644 index 0000000..c571c86 --- /dev/null +++ b/templates/Confiture.svg @@ -0,0 +1,1440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + www.unbrindefolie.net + + 06 95 96 61 08 + + Lieu-dit Lèbre, 04200, Authon + Anne Brogi - "Un Brin de Folie" + + + Culture et cueillette à la maindans les Alpes de Haute-Provence + Ingrédients : + + + + POIDS NET :${q}gLOT $lot + + ${ingredients} + + ${designation} + Préparé avec ${f}g de fruits pour 100g de produit fini. +Teneur totale en sucre : ${teneur}% +À conserver au frais après ouverture. +À consommer de préférence avant : ${dluo} +*Produits issus de l'agriculture biologique. + + diff --git a/templates/Pesto.svg b/templates/Pesto.svg new file mode 100644 index 0000000..8fe1956 --- /dev/null +++ b/templates/Pesto.svg @@ -0,0 +1,1424 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + www.unbrindefolie.net + + 06 95 96 61 08 + + Lieu-dit Lèbre, 04200, Authon + Anne Brogi - "Un Brin de Folie" + + + Culture et cueillette à la maindans les Alpes de Haute-Provence + Ingrédients : + + + + POIDS NET :${q}gLOT $lot + + ${ingredients} + + ${designation} + À conserver au frais après ouverture. +Couvrir d'huile après chaque utilisation. +À consommer de préférence avant : ${dluo} +*Produits issus de l'agriculture biologique. + + diff --git a/templates/Sel.svg b/templates/Sel.svg new file mode 100644 index 0000000..1cc7ba2 --- /dev/null +++ b/templates/Sel.svg @@ -0,0 +1,1431 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + www.unbrindefolie.net + + 06 95 96 61 08 + + Lieu-dit Lèbre, 04200, Authon + Anne Brogi - "Un Brin de Folie" + + + Culture et cueillette à la maindans les Alpes de Haute-Provence + Ingrédients : + + + + POIDS NET :${q}gLOT $lot + + ${ingredients} + + À consommer de préférence avant : ${dluo} +*Produits issus de l'agriculture biologique. + Sel aux Herbes + ${designation} + + diff --git a/templates/Sirop.svg b/templates/Sirop.svg new file mode 100644 index 0000000..6a21b9c --- /dev/null +++ b/templates/Sirop.svg @@ -0,0 +1,2249 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SIROP + SIROP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DOSAGE + + + + + COMPOSITION + + + Culture et cueillette à la maindans les Alpes de Haute-Provence + Sirop Biologique des Monges + + www.unbrindefolie.net + + 06 95 96 61 08 + + Lieu-dit Lèbre, 04200, Authon + Anne Brogi - "Un Brin de Folie" + + + Diluer dans 6 à 8 fois son volume d'eau + + VOLUME :${q}cLLOT $lot + + Conserver au frais après ouverture et +consommer dans les 2 mois. +À consommer de préférence avant : ${dluo} +*Produits issus de l'agriculture biologique. + + + ${ingredients} + ${designation} + + diff --git a/templates/Tisane.svg b/templates/Tisane.svg new file mode 100644 index 0000000..19daef8 --- /dev/null +++ b/templates/Tisane.svg @@ -0,0 +1,1392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + POIDS NET :${q}gLOT $lot + + + 4-5mn + + 85°C + + 1 c. à c. par tasse + + + + + PRÉPARATION + + + + + COMPOSITION + + + Culture et cueillette à la maindans les Alpes de Haute-Provence + Infusion Biologique des Monges + + www.unbrindefolie.net + + 06 95 96 61 08 + + Lieu-dit Lèbre, 04200, Authon + Anne Brogi - "Un Brin de Folie" + + + À conserver dans un endroit sec, à l'abri de +la lumière. +À consommer de préférence avant : ${dluo} +*Produits issus de l'agriculture biologique. + + + ${ingredients} + ${designation} + +