JPG в PDF скрипт Nautilus (с использованием ImageMagick)
После безуспешного поиска я решил создать собственный скрипт для преобразования выбранных файлов JPEG в один PDF-файл.
Вот код (сделанный с Python):
#!/usr/bin/env python
import os
n = " ".join(os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].splitlines())
os.system("convert " + n + " out.pdf")
Проблема этого сценария в том, что он не работает, если файлы, которые вы хотите преобразовать, находятся в каталоге, имя которого содержит пробелы (скажем, /home/myuser/My Photos/1/
).
Есть ли способ, которым я мог бы это исправить?
1 ответ
n = " ".join("'%s'" % f for f in os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].splitlines())
Не забывайте очищать имена файлов, иначе созданное злонамеренно имя может заставить скрипт выполнить код на нашей машине.
Еще лучше использовать subprocess
модуль вместо os.system()
,
subprocess.call ([ "convert" ] + os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].splitlines() + [ "out.pdf" ])