Search code examples
pythongimp

Trouble getting GIMP plugins to work (python attribute missing)


I'm trying to add some popular plugins to GIMP (version 2.99.10), but when I launch GIMP, I get errors like the following:

AttributeError: 'SuperResolution' object has no attribute 'set_translation_domain'

SuperResolution is a subclass of Gimp.PlugIn.

I've only installed GIMP recently, so I'm guessing there's some sort of path / scope issue that's causing python not to be able to see the inherited set_translation_domain attribute, but I don't exactly know what the problem would be. Any ideas?


Solution

  • In superresolution.py replace this:

    def do_query_procedures(self):
        self.set_translation_domain(
            "gimp30-python", Gio.file_new_for_path(Gimp.locale_directory())
        )
        return ["superresolution"]
    

    To this:

    def do_query_procedures(self):
        return ["superresolution"]
    
    def do_set_i18n(self, procname):
        return True, 'gimp30-python', None
    

    That happens because they changed how localization works in the recent builds of GIMP (2.99.10 - 2.99.13). Here is one of their internal plugins foggify to compare.