Подключение любых внешних программ (конвертеры, читалки, экспорт, отсылка на почту) #49
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Запускам любые команды указанные в конфиге. Все, что может быть сделано с командной строки, будет сделано.. или не сделано, если в командной строке есть ошибки. :)
Каждый сам под себя сможет конфигурировать софт, гибкость это хорошо. Можно будет в каталоге
examplesсобрать типовые конфиги под разные задачи и ОС.Вопрос к обсуждению: какие еще параметры могут понадобиться для интеграции внешнего софта?
Подозреваю, что полезным было бы показывать/скрывать пункты в зависимости от типа исходного файла.
Описание функционала из обновленного README.md:
Подключение внешних программ (конвертеры, читалки, экспорт)
Можно подключать любые внешние программы, конвертеры, читалки, экспорты, отсылку на почту и прочее. Будут запущены команды указанные в конфиге
external_tools.jsonв параметреcmd.Пример минимально конфига (под Linux, для других OS - немного другие команды, но принцип тот же):
{ "mobi": { "active": true, "cmd": "cp '${HASHFILE}.raw' '${HASHFILE}.fb2'; ${EXTDIR}/fb2c/fb2c convert --to mobi --nodirs --overwrite '${HASHFILE}.fb2'; rm -f '${HASHFILE}.fb2'", "type": "download" }, "pdf": { "active": true, "cmd": "cp '${HASHFILE}.raw' '${HASHFILE}.fb2'; java -jar '${EXTDIR}/fb2pdf/lib/fb2pdf.jar' -o -e UTF-8 '${HASHFILE}.fb2'; rm -f '${HASHFILE}.fb2'", "type": "download" }, "webReader": { "active": true, "link": "http://127.0.0.1:44080/#/reader?url=http://127.0.0.1:12382${DOWNLOAD_URI}", "type": "link" }, "fbReader": { "active": true, "cmd": "fbreader '${BOOKFILE}.raw'", "type": "gui" } }Возможные действия:
"type": "download"// будет запущена командаcmdи результат будет загружен в браузере."type": "cmd"// будет просто запущена командаcmd, полезно для экспорта или отсылку куда-то."type": "link"// можно добавить свою ссылку."type": "gui"// запуск чего-то в GUI, например, свою десктопную читалку.Полный перечень доступных параметров (в реальном конфиге комментарии не допустимы, их нужно удалить):
Доступные переменные при запуске
cmdилиcmdExport:${BOOKFILE}${HASHFILE}${RESULTFILE}${FILENAME}${EXTDIR}external_tools.json, в этой директории удобно размещать свои конвертеры и утилиты${LIBFOLDER}${LIBFILE}