Как запустить Python плагин для Гимпа в коммандной строке Wi

Home Forums Разработка Разработка сценариев Как запустить Python плагин для Гимпа в коммандной строке Wi

This topic contains 1 reply, has 1 voice, and was last updated by  NailBomber 6 years, 5 months ago.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #959

    NailBomber
    Member

    Делал кто такое вообще?

    Сделал себе плаг, отлично инициализируется и пашет в самом Гимпе, а вот из коммандной строки не работает.

    Что я ввожу в командную строку:
    “C:Program FilesGIMP 2bingimp-2.8.exe” -i –batch-interpreter python-fu-eval -b pdb.python-fu-imgs2collage(“C:\load” “C:\save” 1920 1080 2 2 1 128) -b pdb.gimp_quit(1)

    Пишет, что невозможно открыть “C:\load” “1920” и т.д… а кто его просит их открывать? Я ему параметры для плага даю!

    По теме гуглил уже все что можно и ничего не работает!
    Пробовал и ” вокруг функций ставить и всякое другое, а в результате только время зря потратил.

    #1910

    NailBomber
    Member

    Разобрался короче. Спасибо вот этому плагу: http://svn.gna.org/svn/bliotux/trunk/templates/guillotine/batch_create_guides.py
    Слегка поменять пришлось для себя, но это мелочи.

    Немного объясню для таких же нубов как я, а то мало ли может кто-то тоже помучался:

    Что ввелось без проблем:
    “C:Program FilesGIMP 2bingimp-2.8.exe” –verbose -idfc -b “(python-fu-imgs2collage RUN-NONINTERACTIVE 0 0 “C:\load” “C:\save” 1920 1080 2 “2” 1 256.0)” -b “(gimp-quit 1)”

    “C:Program FilesGIMP 2bingimp-2.8.exe” – собсна путь к Гимпу

    –verbose – более детальный лог в консоли
    -idfc – тоже самое что и -i -d -f -c
    -b – команда для исполнения

    команда для рабора:
    “(python-fu-imgs2collage RUN-NONINTERACTIVE 0 0 “C:\load” “C:\save” 1920 1080 2 “2” 1 256.0)”
    добавляем python-fu- перед названием своей плаг-функции
    RUN-NONINTERACTIVE или 1, чтобы знал как он будет запускаться.
    Далее идут аргументы: img, drawable, string, string, int32, int32, int32, string, int32, float.
    Так как никакого изображения или слоя мне не нужно я просто поставил два нуля.
    Стринги не забываем ставить в стиле “стринг”, а то вся команда к чертям полетит.
    С интами все понятно.
    А вот с радио-кнопками (PF_RADIO) и булеаном (PF_BOOL) получилось забавно.
    Радио-параметр принимает аргумент как стринг, а не интеграл как можно было подумать (в интерактивном Гимпе то он посылает интеграл).
    Причем стринг можно посылать какой душе пожелает – функции до фени. Это значит, что надо будет еще в функции дополнительную проверку делать –
    стринг или нет, если стринг то какой.
    Булеан это на самом деле интеграл, но если в регистрации плага деволтным значением оставить не число, а True или False, то в интерактивном
    Гимпе он будет работать нормально, а вот в командной строке пожалуется, что милый аргумент то неправильный.
    Float можно и интегралом оставить, не принципиально.

    Еще надо всякие дополнительные проверки делать на мин/макс значения, если в интерфейсе плага лимиты или PF_SLIDER используется, так как в командной строке можно какое угодно число дать.

    Ну, и все вроде.

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.