user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 09-01-2019 08:39:26

petitegirafe
Membre

script python pour changer les couleurs du pack faenza icône

les couleurs génerées :
1547015912_capture_drsquoecran_2019-01-09_07-35-49.png 1547027167_capture_drsquoecran_2019-01-09_10-42-43.png

le script :

#!/usr/bin/env python
# -*- coding: utf-8 -*-


import os, sys, shutil

from PIL.Image import *
from time import sleep
from os import chdir

FaenzaIconsPack = os.path.join(os.path.expanduser('~'), '.icons/Faenza/')
chdir(os.path.expanduser('~'))

ColorDic = {"Faenza_purple" : (-25,-50,50), "Faenza_green" : (-50,50,-25),
			"Faenza_blue" : (-75,-25,75), "Faenza_red" : (100,-50,-50),
			"Faenza_pink" : (100,-25,50), "Faenza_orange" : (150,0,-25),
			"Faenza_aqua" : (-50,50,100) }
			
#bleu claire (-50,50,100) un peux plus foncé (-50,25,100) (-50,0,100) 
#Vert (-50,50,-50) vert (-50, 50, -25) vert (-25, 75, -50)
filtreIcons = ['gnome-fs-trash-empty.png', 'desktop.png', 'emptytrash.png', 'gnome-fs-desktop.png',
				'gnome-fs-trash-empty.png', 'trashcan_empty.png', 'user-desktop.png', 'user-trash.png',
				'xfce-trash_empty.png', 'gnome-stock-trash.png']

def configControl():
	print("contrôle de la configuration")
	i = 0
	if os.path.isdir(FaenzaIconsPack) == False:
		print("Le pack icons Faenza n'est pas installer")
		if os.path.isdir("/usr/share/icons/Faenza/") == True:
			print("Le pack d'icône Faenza se trouve /usr/share/icons/Faenza/ \n Copie dans {}".format(FaenzaIconsPack))
			copiePackIcons("/usr/share/icons/", "{}".format(FaenzaIconsPack))
		else:
			print("Vous devez d'abord installer le pack d'icônes Faenza")
			return 0
			
	if os.path.isdir(FaenzaIconsPack) == True:
		print("Le pack d'icônes de base Faenza est bien installé")
		if os.path.isdir(".icons/Faenza_grey") == False:
			print("Une copie du pack d'icône est nécessaire avant tout traitement")
			copiePackIcons(FaenzaIconsPack, ".icons/Faenza_grey")
			
		
		
def copiePackIcons(name, newName):
	if os.path.isdir(newName) == True:
		print("Copie non nécessaire le pack {} est déja présent".format(os.path.basename(newName)))
		
	else:
		print("Copie du pack {} en cours ...".format(os.path.basename(newName)))
		shutil.copytree(name, newName)
		print("Copie du pack {} terminée !!! ".format(os.path.basename(newName)))


def greyColor():
	print("\nTraitement dossier Faenza_grey")
	listeDossiers = [dossier for dossier in os.listdir(".icons/Faenza_grey/places/") if dossier != "scalable"]
	for dossier in listeDossiers:
		print("\n--> Traitement du dossier Faenza_grey/places/{}".format(dossier))
		sleep(3)
		files = [icon for icon  in os.listdir(".icons/Faenza_grey/places/{}/".format(dossier)) if icon.split('.')[-1] == 'png'] 

		for iconSource in files:
			if iconSource in filtreIcons or 'server' in iconSource or 'distributor' in iconSource:
				pass
			else: 
				icon = open(os.path.join(".icons/Faenza_grey/places/{}/{}".format(dossier, iconSource)))
				largeur , hauteur = icon.size
				
				for y in range(hauteur):
					for x in range(largeur):
						pixel = icon.getpixel((x,y))
						if pixel[3] in pixel:
							gris = int(0.2125 * pixel[0] + 0.7154 * pixel[1] + 0.0721 * pixel[2])
							newPixel = (gris, gris, gris, pixel[3])
						else:
							gris = int(0.2125 * pixel[0] + 0.7154 * pixel[1] + 0.0721 * pixel[2])
							newPixel = (gris, gris, gris)
						icon.putpixel((x,y),newPixel)
							
				icon.save(os.path.join(".icons/Faenza_grey/places/{}/{}".format(dossier, iconSource))) 
				print("{} --> Grey OK !!!".format(iconSource))
				icon.close	
		print("Traitement du dossier Faenza_grey/places/{} terminé".format(dossier))
	print("\nTraitement pack Faenza grey terminée")
	sleep(3)


def fullColor():
	print("\n--> Création des packs d'icône couleur")
	sleep(3)
	
	for color in ColorDic:
		if color in ["Faenza_purple", "Faenza_green", "Faenza_blue", "Faenza_red", "Faenza_pink"]:
			copiePackIcons(".icons/Faenza_grey/", os.path.join(".icons/{}/".format(color)))
		if color in ["Faenza_orange", "Faenza_aqua"]:
			copiePackIcons(".icons/Faenza/", os.path.join(".icons/{}/".format(color)))
		
		print("\nTraitement dossier {}".format(color))	
		listeDossiers = [dossier for dossier in os.listdir(".icons/{}/places/".format(color)) if dossier != "scalable"]
		for dossier in listeDossiers:
			print("\n--> Traitement du dossier .icons/{}/places/{}".format(color, dossier))
			sleep(3)
			files = [icon for icon  in os.listdir(".icons/{}/places/{}/".format(color, dossier)) if icon.split('.')[-1] == 'png']
			for iconSource in files:
				if iconSource in filtreIcons or 'server' in iconSource or 'distributor' in iconSource:
					pass
				else:
					icon = open(os.path.join(".icons/{}/places/{}/{}".format(color, dossier, iconSource)))
					largeur , hauteur = icon.size
					for y in range(hauteur):
						for x in range(largeur):
							pixel = icon.getpixel((x,y))
							if pixel[3] in pixel:
								newPixel = (pixel[0] + ColorDic[color][0], pixel[1] + ColorDic[color][1], pixel[2] + ColorDic[color][2], pixel[3])
							else:
								newPixel = (pixel[0] + ColorDic[color][0], pixel[1] + ColorDic[color][1], pixel[2]+ ColorDic[color][2])
							icon.putpixel((x,y),newPixel)
					icon.save(os.path.join(".icons/{}/places/{}/{}".format(color, dossier, iconSource))) 
					print("{} --> {} OK".format(iconSource, color.split("_")[1]))
					icon.close
			print("Traitement du dossier {}/places/{} terminé".format(color, dossier))
		print("\nTraitement pack {} terminé".format(color))


def main():
	
	configControl()
	
	print("\nDébut du traitement Faenza Grey Color")
	greyColor()
	print("\nDébut du traitement Faenza Full Color")
	fullColor()
	print("\nTout les packs d'icônes sont terminés")
	return 0 
	
if __name__== "__main__":
	sys.exit(main())

Dernière modification par petitegirafe (09-01-2019 11:47:08)

Hors ligne

#2 14-01-2019 11:48:11

Azgarech
Crazy one

Re : script python pour changer les couleurs du pack faenza icône

Sympa  big_smile


Security is always excessive until it’s not enough. — Robbie Sinclair

Hors ligne

#3 Hier 17:27:41

ZeR0-@bSoLu
Membre

Re : script python pour changer les couleurs du pack faenza icône

Pas mal du tout big_smile


Mess With The Bests
Die Like The Rest

Hors ligne

Pied de page des forums