pdbgimpfupython-fu

GIMP python-fu call function plug_in_beautify 'wrong number of parameters'


I try to use the great Beautify plugin in python command line and I am unable to call the function the right way!

Here is my code:

import os
from gimpfu import *

inputPath = os.path.join('xxxx', 'fire.png')

if(file.lower().endswith(('.png'))):
  image = pdb.file_png_load(inputPath, inputPath)
if(file.lower().endswith(('.jpeg', '.jpg'))):
  image = pdb.file_jpeg_load(inputPath, inputPath)

drawable = pdb.gimp_image_get_active_layer(image)
pdb.plug_in_beautify(1,image,drawable,67,100)
# Traceback (most recent call last):
# File "<input>", line 1, in <module>
# TypeError: wrong number of parameters

pdb.plug_in_beautify.nparams  # = 5
pdb.plug_in_beautify.params
# ((0, 'run-mode', 'The run mode { RUN-INTERACTIVE (0), RUN-NONINTERACTIVE (1) }'), 
# (13, 'image', 'Input image'), 
# (16, 'drawable', 'Input drawable'), 
# (0, 'effect', 'The effect to apply { SOFT_LIGHT (1), WARM (2), SHARPEN (3), SOFT (4), REMOVE_FOG (5), STRONG_CONTRAST (6), SMART_COLOR (7),... PINK_PURPLE_GRADIENG (80), PINK_BLUE_GRADIENT (81) }'), 
# (3, 'opacity', 'The effect opacity (0 <= opacity <= 100)'))

So why my function has 'wrong number of parameters' if it expects 5 and I am putting 5?

Can anyone help me with the right syntax?


Solution

  • IMO the run-mode should not be entered

    edit: enter pdb.plug_in_beautify(image,drawable,67,100)

    the run-mode is not used (not required) by python