gimp_gimprc_set() avec python

Pour tous ceux qui veulent aller plus plus dans les aspects techniques de Gimp.

Modérateur : Ze Techos

Répondre
Avatar de l’utilisateur
michelk
Fou du clic droit
Messages : 94
Inscription : sam. mars 08, 2008 7:37 pm
Localisation : Mars

gimp_gimprc_set() avec python

Message par michelk » mer. mars 26, 2008 10:51 pm

Bonjour,
j'ai trouvé dans la base une fonction qui permettait de modifier les préférences.

Code : Tout sélectionner

def python_fu_essai():
	pdb.gimp_gimprc_set ('default_image(width)',str(200))
Mais bien sûr, je ne sais pas l'employer. Quelle est la syntaxe correcte?

Merci à vous,

Michel.

Avatar de l’utilisateur
zigomar
Pro de la Gimp-Attitude
Messages : 801
Inscription : sam. sept. 25, 2004 5:51 pm
Localisation : Strasbourg
Contact :

Message par zigomar » jeu. mars 27, 2008 7:41 pm

La syntaxe est bonne.

Le code

Code : Tout sélectionner

pdb.gimp_gimprc_set( 'variable', 'value' )
ajoute bien la ligne (variable "value") dans le gimprc. Simplement ce n'est pas fait pour modifier les préférences mais pour que les greffons puissent stocker et récupérer des données d'une session à l'autre.

@+

Avatar de l’utilisateur
michelk
Fou du clic droit
Messages : 94
Inscription : sam. mars 08, 2008 7:37 pm
Localisation : Mars

Message par michelk » ven. mars 28, 2008 6:06 pm

Merci pour la réponse,
Ce que je ne comprend pas, c'est pourquoi le code suivant ne modifie pas (toolbox-foo-area yes) mais ajoute une nouvelle entrée de même nom à la fin du fichier:

Code : Tout sélectionner

def python_fu_essai():
    pdb.gimp_gimprc_set ('toolbox-foo-area ','no')
ajoute (toolbox-foo-area "no"). Je peux modifier par la suite ma nouvelle entrée, mais pas celle d'origine qui a pourtant le même nom.
De plus, si je rentre une valeur numérique, elle s'affiche avec des guillemets.
pdb.gimp_gimprc_set ('toolbox-foo-area ','20') donne (toolbox-foo-area "20"). ('toolbox-foo-area ', 20) n'affiche rien.

???


M

Avatar de l’utilisateur
zigomar
Pro de la Gimp-Attitude
Messages : 801
Inscription : sam. sept. 25, 2004 5:51 pm
Localisation : Strasbourg
Contact :

Message par zigomar » ven. mars 28, 2008 6:55 pm

ajoute (toolbox-foo-area "no"). Je peux modifier par la suite ma nouvelle entrée, mais pas celle d'origine qui a pourtant le même nom.
Oui, il semble que tout le contenu du fichier soit regénéré à chaque gimp_gimprc_set puis les valeurs "utilisateurs" sont ajoutées derrière séparées par une ligne vierge. Ce mécanisme est probablement une protection anti-bidouille. Ca tombe mal pour toi ;)
De plus, si je rentre une valeur numérique, elle s'affiche avec des guillemets.
pdb.gimp_gimprc_set ('toolbox-foo-area ','20') donne (toolbox-foo-area "20"). ('toolbox-foo-area ', 20) n'affiche rien.
Normal. '20' est le texte 20 pas le chiffre 20. 20 est bien le chiffre 20 mais la fonction n'accepte que des textes, il y a donc un message d'erreur à propos d'un paramètre de mauvais type (integer au lieu de string).

@+

Répondre