publicodes / tools

Set of utility functions to write tooling for Publicodes models
https://publicodes.github.io/tools/
MIT License
8 stars 0 forks source link

[importer] Permettre l'import de toutes les règles enfant #42

Open Clemog opened 2 months ago

Clemog commented 2 months ago

Lors de l'import de règles depuis un autre package, ce serait intéressant d'automatiser l'import de toutes les règles enfant d'un espace nom donné

Clemog commented 2 months ago

Exemple :

Eviter de genre d'imports auxquels vont s'ajouter ceux pour l'eau

importer!:
  depuis:
    nom: '@incubateur-ademe/publicodes-negaoctet'
    url: https://github.com/incubateur-ademe/publicodes-negaoctet
  dans: negaoctet
  les règles:
    - acv . smartphone . carbone . fabrication
    - acv . smartphone . carbone . distribution
    - acv . smartphone . durée de vie théorique
    - acv . tablette . carbone . fabrication
    - acv . tablette . carbone . distribution
    - acv . tablette . durée de vie théorique
    - acv . ordinateur portable . carbone . fabrication
    - acv . ordinateur portable . carbone . distribution
    - acv . ordinateur portable . durée de vie théorique
    - acv . TV . carbone . fabrication
    - acv . TV . carbone . distribution
    - acv . TV . durée de vie théorique
    - acv . ordinateur fixe . carbone . fabrication
    - acv . ordinateur fixe . carbone . distribution
    - acv . ordinateur fixe . durée de vie théorique
    - acv . écran . carbone . fabrication
    - acv . écran . carbone . distribution
    - acv . écran . durée de vie théorique
    - acv . enceinte . carbone . fabrication
    - acv . enceinte . carbone . distribution
    - acv . enceinte . durée de vie théorique
    - acv . console de salon . carbone . fabrication
    - acv . console de salon . carbone . distribution
    - acv . console de salon . durée de vie théorique
    - acv . console portable . carbone . fabrication
    - acv . console portable . carbone . distribution
    - acv . console portable . durée de vie théorique
    - acv . imprimante . carbone . fabrication
    - acv . imprimante . carbone . distribution
    - acv . imprimante . durée de vie théorique
EmileRolley commented 1 month ago

Je ne suis pas sûr que ce soit une si bonne idée. En effet, il faudrait inventer une nouvelle syntaxe pour spécifier l'import ou non de toutes les règles enfants et donc qui complexifierait la lecture et la compréhension du code. L'avantage actuellement est que l'on sait explicitement toutes les règles qui seront importées.

A moins d'avoir vraiment une bonne raison de le faire je suis pour ne pas ajouter cette fonctionnalité pour l'instant.

[!NOTE] On pourrait imaginer avoir un attribut les espaces-noms en plus de les règles mais il faudrait que la personne qui lit le code comprenne la différence entre un espace-nom et une règle (ce qui n'est pas très clair en soit de base dans Publicodes).