How to cache Python module in Gitlab CI

Posted on 2017-08-20 in Trucs et astuces • Tagged with gitlab, ci, Python

By default, pip cache will be in ~/.pip. However, this folder cannot be cached by Gitlab. The trick is to force pip to use a folder located in the build directory with the --cache-dir option. You can then cache this folder.

For instance, you can use .pip as in the …


Continue reading

Extraire le HTML d'un email au format mbox

Posted on 2017-08-07 in Trucs et astuces • Tagged with mail, Python

Voici un petit script Python pour convertir un mail au format mbox en HTML. Pour que le script fonctionne, il faut soit que le corps du message soit du HTML (recommandé) soit que la première pièce jointe du message contienne le message en HTML.

Par défaut, le script traitera tous …


Continue reading

Create python virtual enviroments on Windows

Posted on 2017-06-11 in Trucs et astuces • Tagged with Python

  1. Before creating the venv you will need to open a PowerShell terminal as root and run the commands below to allow the script that activates the virtual env to run:

    cd ..
    Set-ExecutionPolicy Unrestricted
    
  2. Create the venv. Run in a terminal as a normal user: python3 -m venv .venv If the …


Continue reading

Extraire toutes les images encodées en base64 d'un SVG

Posted on 2017-02-13 in Trucs et astuces • Tagged with Python, SVG

Récemment, j'ai eu besoin d'intégrer un SVG dans un template Aurelia. Malheureusement, il contenait beaucoup d'images et elles étaient toutes incluses au format base64. Cela rendait le fichier quasiment inutilisable avec de gros pâtés qui empêchent de voir le code utile et d'ajouter les attributs « Aurelia » (comme if.bind). Heureusement …


Continue reading

Trouver tous les boutons sans attributs type

Posted on 2017-01-16 in Trucs et astuces • Tagged with HTML, Python, formulaire

Certains navigateurs (comme Chrome) afficheront une erreur dans la console si vous avez des formulaires créés avec la balise form et des boutons sans l'attribut type. Il peut donc être intéressant d'avoir un petit script qui trouve tous ces boutons pour ajouter l'attribut type. La bonne nouvelle c'est qu'avec Python …


Continue reading

Utiliser des métaclasses pour créer simplement des enums en Python 3

Posted on 2016-08-01 in Programmation • Tagged with Python

Depuis la version 3.4, Python dispose d'une classe Enum qui permet de créer des enums avec quelques propriétés intéressantes (itération, nombre d'éléments, accès aux éléments de l'enum comme ceux d'un objet ou d'un dictionnaire). Je vous laisse lire la documentation pour les détails.

Cependant, dans mon cas, je les …


Continue reading

Supprimer la ligne encoding de fichiers python

Posted on 2015-07-22 in Trucs et astuces • Tagged with python, Bash/Shell

Lors du passage à python 3 sur un projet, j'ai décidé de supprimer les lignes qui donnent l'encodage du fichier. En effet, ils étaient tous en UTF-8 et c'est l'encodage par défaut sous python 3.

J'ai écrit ce petit script pour automatiser tout ça :

for file in $(find chsdi/ -name …

Continue reading

Importer périodiquement un flux ical dans owncloud

Posted on 2015-01-09 in Programmation • Tagged with Python, Calbdav, Owncloud

J'ai toujours trouvé dommage que owncloud ne soit pas capable d'importer périodiquement des calendriers que l'on trouve sur le web. Dans mon cas, mon emploi du temps est un flux ical régulièrement mis à jour et j'aimerais bien que owncloud soit capable de l'importer. Je me suis finalement résigné à …


Continue reading

Rédiger ses rapports avec rst et sphinx

Posted on 2014-08-13 in Blog • Tagged with python, Rst, sphinx

Comme je l'ai déjà évoqué ici et , j'adore les langages à balisage léger. Du coup, j'essaie de les utiliser partout où je peux. Mais de là à rédiger un rapport avec table des matières, pages de garde et glossaire, il y a un pas. Surtout face à la puissance …


Continue reading

Utiliser isso pour avoir des commentaires auto-hébergés

Posted on 2014-06-08 in Blog • Tagged with pelican, python

Lorsque j'ai lancé ce blog, j'utilisais un plugin de pelican pour avoir un système de commentaires statiques. Je ne suis en effet pas un grand fan des commentaires hébergés chez des prestataires externes comme disqus pour des questions de vie privée. Ce plugin me semblait un bon compromis : il ajoute …


Continue reading