Browse Source

First bumpversion + autochangelog

pull/1/head
Michael COSTA 6 months ago
parent
commit
62aed36e13
7 changed files with 22 additions and 58 deletions
  1. +1
    -2
      .gitignore
  2. +3
    -3
      CONTRIBUTING.md
  3. +5
    -5
      Makefile
  4. +0
    -18
      requirements.txt
  5. +4
    -21
      setup.cfg
  6. +2
    -2
      sonar-project.properties
  7. +7
    -7
      template/__init__.py

+ 1
- 2
.gitignore View File

@ -4,8 +4,7 @@
*/__pycache__
build/
dist/
infra.egg-info/
python_infra.egg-info/
template.egg-info/
test.py
populate_dir.py
.vscode/


+ 3
- 3
CONTRIBUTING.md View File

@ -1,8 +1,8 @@
## Environnement de dev
```sh
python3 -m venv socle-infra-venv
source socle-infra-venv/bin/activate
python3 -m venv scrippy-template
source scrippy-template/bin/activate
pip install -e .
```
@ -57,7 +57,7 @@ Les scopes correspondent aux noms des modules jusqu'au deuxième niveau.
**Sans caratères speciaux !**
**exemple :** `infra.remote.ftp`, `infra.remote.ssh`, `infra.remote`, `infra.db`, `infra.mail.mailer`, etc...
**exemple :** `scrippy-remote.remote.ftp`, `scrippy-remote.remote.ssh`, `scrippy-remote.remote`, `scrippy-db.db`, `scrippy-mail.mail.mailer`, etc...
### Breaking change
Pour les breaking changes ajouter `!` avant le `: <description>`


+ 5
- 5
Makefile View File

@ -9,10 +9,10 @@ install:
sudo python3 ./setup.py build install
uninstall:
sudo pip3 uninstall -y python-infra
sudo pip3 uninstall -y scrippy-template
distclean:
sudo rm -Rf ./build ./dist ./python_infra.egg-info
sudo rm -Rf ./build ./dist ./scrippy-template.egg-info
bumpversion:
bump2version patch
@ -20,10 +20,10 @@ bumpversion:
autochangelog:
VERSION=$(shell python3 ./setup.py --version)
auto-changelog -v "${VERSION}" \
--issue-url https://git.mcos.nc/issues/{id} \
--starting-commit dbd7aa41a423126f5ede4e7c1c8436ca02ce022a \
--issue-url https://git.mcos.nc/python/scrippy-template/issues/{id} \
--starting-commit 84d2fe411f1e89f85c05bb1f5de569630e6b9cdc \
-d 'Fichier généré automatiquement par auto-changelog' \
--diff-url https://git.mcos.nc/python/infra/src/tag/{current}
--diff-url https://git.mcos.nc/python/scrippy/src/tag/{current}
tag:
VERSION=$(shell python3 ./setup.py --version)


+ 0
- 18
requirements.txt View File

@ -1,19 +1 @@
GitPython>=2.1.15
psycopg2-binary>=2.8.3
markupsafe>=1.1.1
pycparser>=2.19
paramiko>=2.6.0
argcomplete>=1.10.0
bcrypt>=3.1.7
coloredlogs>=10.0
pytz>=2019.3
pynacl>=1.3.0
cryptography>=2.7
six>=1.12.0
jinja2>=2.10.3
asn1crypto>=1.0.1
prettytable>=0.7.2
cffi>=1.12.3
humanfriendly>=4.18
sqlparse>=0.3.0
filelock>=3.0.12

+ 4
- 21
setup.cfg View File

@ -4,9 +4,9 @@ classifiers =
Programming Language :: Python :: 3
License :: WTFPL
Operating System :: POSIX :: Linux
url = https://gitlab-infra.ref.gnc/puppet/python-infra
description = "Socle de fonctions utilisées dans les scripts python de gestion d'infrastructure."
name = python-infra
url = https://gitlab-infra.ref.gnc/scrippy/scrippy-template
description = "Gestion simplifiée des fichiers modèles"
name = scrippy-template
long_description = file: README.md
long_description_content_type = text/markdown
author = Michael Costa, Florent Chevalier
@ -15,25 +15,8 @@ author_email = michael.costa@mcos.nc, florent.chevalier@gouv.nc
[options]
packages = find:
install_requires =
GitPython>=2.1.15
psycopg2-binary>=2.8.3
markupsafe>=1.1.1
pycparser>=2.19
paramiko>=2.6.0
argcomplete>=1.10.0
bcrypt>=3.1.7
coloredlogs>=10.0
pytz>=2019.3
pynacl>=1.3.0
cryptography>=2.7
six>=1.12.0
jinja2>=2.10.3
asn1crypto>=1.0.1
prettytable>=0.7.2
cffi>=1.12.3
humanfriendly>=4.18
sqlparse>=0.3.0
filelock>=3.0.12
[options.extras_require]
dev =


+ 2
- 2
sonar-project.properties View File

@ -1,5 +1,5 @@
sonar.projectName=python-infra
sonar.gitlab.project_id=puppet/python-infra
sonar.projectName=scrippy-template
sonar.gitlab.project_id=scrippy/scrippy-template
sonar.gitlab.url=https://gitlab-infra.ref.gnc


+ 7
- 7
template/__init__.py View File

@ -2,7 +2,7 @@
"""
Ce module permet la génération de document à partir de fichiers modèles.
Pour être utilisables les fichiers modèles devront être situés dans le répertoire "infra.NC_EXPL_MOD".
Pour être utilisables les fichiers modèles devront être situés dans le répertoire "self.base_path".
Afin de gérer l'interpolation de variables le fichier modèle DOIT accepter un dictionnaire nommé "params" comme paramètre.
@ -23,20 +23,20 @@ import sys
import logging
import jinja2
import infra
class Renderer:
"""
L'objet Renderer est en charge du chargement et du rendu des fichiers modèles.
"""
def __init__(self, template_filename):
def __init__(self, base_path, template_filename):
"""
L'instanciation d'un objet Renderer nécessite le nom du fichier modèle à charger.
Le fichier modèle sera automatiquement récupéré dans le répertoire "infra.NC_EXPL_MOD" et ne doit donc pas
Le fichier modèle sera automatiquement récupéré dans le répertoire "self.base_path" et ne doit donc pas
être un chemin absolu mais simplement un le nom du fichier en lui même.
"""
self.base_path = base_path
self.template_filename = template_filename
def load(self, template_filename):
@ -59,8 +59,8 @@ class Renderer:
"""
logging.info("[+] Rendu du modele: {}".format(self.template_filename))
try:
env = jinja2.Environment(loader=jinja2.FileSystemLoader(infra.NC_EXPL_MOD),
autoescape=True)
env = jinja2.Environment(loader=jinja2.FileSystemLoader(self.base_path),
autoescape=True)
template = env.get_template(self.template_filename)
return template.render(params=params)
except jinja2.exceptions.TemplateNotFound as e:


Loading…
Cancel
Save