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

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

В этой теме 1 ответ, 1 участник, последнее обновление  NailBomber 5 года/лет назад.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #959

    NailBomber
    Участник

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

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

    Что я ввожу в командную строку:
    «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
    Участник

    Разобрался короче. Спасибо вот этому плагу: 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 используется, так как в командной строке можно какое угодно число дать.

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

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)

Для ответа в этой теме необходимо авторизоваться.