Script permettant de remplacer les icônes du répertoire d’images par des vignettes

Bonjour,

Aujourd’hui, je vous propose un petit script très court qui permet de remplacer les icônes des répertoires d’images par des vignettes. En fait, il y a deux scripts : thumbnail.py et thumbnail.sh.

Commençons d’abord par thumbnail.py :

# PREREQUISITES
# This script takes one argument which is the path to the directory whose icons you want to replace with thumbnails.
# Ce script prend un argument qui est le chemin du répertoire dont vous voulez remplacer les icônes par des vignettes.
# Give permission to execute thumbnail.py and thumbnail.sh

import os
import subprocess
import sys

folder = sys.argv[1]  # Répertoire passé en argument
cwd = os.path.abspath(os.path.dirname(sys.argv[0]))  # Current working directory

for root, dirs, files in os.walk(folder):
    for file_ in files:
        if not os.path.isdir(os.path.join(root, file_)):                    
            subprocess.Popen([os.path.join(cwd, "thumbnail.sh"), root, file_])
            break

Ce script prend un argument qui est le chemin absolu du répertoire d’images dont vous voulez remplacer les icônes par des vignettes. Veuillez noter que la vignette correspond à la première image qui se trouve dans le répertoire. Si le répertoire ne contient que des sous-répertoires, bien évidemment l’icône ne sera pas remplacée. Cela a un avantage : On sait immédiatement que si l’icône du répertoire n’est pas une vignette, alors il ne contient que des sous-répertoires. Grâce à os.walk( ), le script parcourt tous les sous-répertoires du répertoire passé en argument.

Pour le lancer, veuillez entrer cette commande dans votre terminal préféré :

./thumbnail.py  /home/user/Images

Ce script lance un autre script Bash qui ne contient qu’une seule ligne (thumbnail.sh). C’est la commande qui remplace l’icône par la vignette. Pourquoi est-ce que je ne l’ai pas inclue dans thumbnail.py ? Tout simplement parce que je n’ai pas réussi à la faire fonctionner avec subprocess( ), et je ne veux pas utiliser os.system( ) qui est déprécié. Voici donc thumbnail.sh :

# PREREQUISITES
# This script is executed by thumbnail.sh
# Give permission to execute the script

gio set $1 metadata::custom-icon $2

C’est très rapide. Au bout du compte , vous obtiendrez ce résultat. Trois répertoires sont illustrés par des vignettes. Le quatrième, Nederland, a conservé son icône, ce qui signifie qu’il ne contient que des sous-répertoires.

Si on l’ouvre, on trouve deux sous-répertoires qui contiennent au moins une image puisqu’ils sont illustrés par une vignette.

Voilà pour aujourd’hui. Je vous souhaite à toutes et à tous, de joyeuses fêtes de Pâques.

Un commentaire sur « Script permettant de remplacer les icônes du répertoire d’images par des vignettes »

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s