Insérer automatiquement des données dans un fichier reStructuredText
Supposons que vous deviez présenter 3 produits, Dianthus, Geum et Prunus, chacun déclinés dans trois versions 1.0, 1.5 et 2.3.
Plutôt que d’écrire les données à la main dans le fichier de contenu, vous pouvez les insérer automatiquement grâce à Jinja et Python.
-
Créez le fichier
modele.rst
suivant :Produits et versions===================={% for prod in product %}{{ prod | capitalize }}{% for c in prod %}-{% endfor %}{% for ver in version %}- {{ ver }}{% endfor %}{% endfor %} -
Créez le script Python
populate.py
suivant :#!/usr/bin/python# coding: utf8import jinja2env = jinja2.Environment(loader=jinja2.FileSystemLoader('./'))template = env.get_template('modele.rst')data = {'product': ['dianthus', 'geum', 'prunus'],'version': ['1.0', '1.5', '2.3']}print(template.render(data)) -
Rendez le script exécutable, puis exécutez-le :
Terminal window $ chmod +x populate.py$ ./populate.pyLe contenu suivant s’affiche :
Produits et versions====================Dianthus--------- 1.0- 1.5- 2.3Geum----- 1.0- 1.5- 2.3Prunus------- 1.0- 1.5- 2.3
Vous minimisez ainsi le risque d’erreurs et l’effort de mise à jour.
Voir aussi