Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Быстрая печать фотографий из файлового менеджера.  (Прочитано 76704 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн JmAbuDabi

  • Старожил
  • *
  • Сообщений: 2468
  • 나는 빅터 해요. 나는 프로그래머입니다
    • Просмотр профиля
JmAbuDabi, сразу критика:
... списку уже... - списку вже... (две буквы "у" подряд),
описка в 6-7 строчке "віжкритих" вместо "відкритих",
определись или "картинки" или "зображення", а то в одном так, а в другом - иначе,
"формати листа", наверное правильно будет "формати сторінки",
Слово "галочка", надо в кавычках, и не уверен в его правильности,
"розміри бумаги" - "розміри паперу", или "розміри аркуша",
опять описка "викорисмовувати" вместо "використовувати",
"Активізувати" не уверен, но может все-таки "Активувати"?
(Нажмите, чтобы показать/скрыть)
Тут тоже не могут разобраться с картинками))

По остальному ОК, исправлю.
« Последнее редактирование: 09 Июля 2013, 01:55:01 от JmAbuDabi »
Покой – это не место, где тихо и мирно, где нет шума и беспокойства.
Покой – это когда при всем этом, вы сохраняете мир и спокойствие в своем сердце.

Оффлайн viktand

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
    • Просмотр профиля
Цитата: brenti
Обновился и прям таки косяк сразу, очень похоже на софт убунты))))) когда включаешь рут и лезешь в настройки и затем ставишь галку на интеграцию с наутилусом - окно настройки постоянно зависает. Ubuntu 12.04.

Попробуйте не использовать рут. Должно получиться.

Всем спасибо за внимание. Я в отъезде до середины августа, в проекте пока пауза.

Оффлайн Fantiney

  • Участник
  • *
  • Сообщений: 137
    • Просмотр профиля
Спасибо за программу, очень нужная вещь.  :)

Оффлайн brenti

  • Активист
  • *
  • Сообщений: 485
    • Просмотр профиля
Собрал пакет который добавляет в контекстное меню наутилуса пункт "Печать" - через которое запускается программа быстрой печати VAP, есть только один косяк - при выделении нескольких изображений и нажатии на "печать" в программу VAP почему-то всё равно загружается один файл. Пакет можно скачать во вложении. После установки перезагружаем наутилус nautilus -q Скрины прилагаю, ubuntu 12.04.



p.s. буду рад если кто-то более шарящий поправит пакет чтобы при выделении нескольких изображений - все они попадали бы в окно программы VAP.
по идеи нужно только правильно отредактировать скрипт от пакета лежащий по адресу "/usr/share/nautilus-python/extensions/nautilus-image-manipulator-extension.py"
за основу брал пакет "nautilus-image-manipulator_0.5-2_all.deb" - один из твиков наутилуса который переворачивает фотки из контекстного меню.
« Последнее редактирование: 17 Июля 2013, 15:47:16 от brenti »

Оффлайн viktand

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
    • Просмотр профиля
У меня сейчас нет Linuxа под руками чтобы проверить, но если в основе лежат обычные скрипты для меню сценариев, то команда на открытие программой группы файлов будет "/usr/bin/vap $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS", если более традиционный подход, то "Exec=vap %F".

Оффлайн brenti

  • Активист
  • *
  • Сообщений: 485
    • Просмотр профиля
У меня сейчас нет Linuxа под руками чтобы проверить, но если в основе лежат обычные скрипты для меню сценариев, то команда на открытие программой группы файлов будет "/usr/bin/vap $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS", если более традиционный подход, то "Exec=vap %F".

Пробовал я уже вставлять в скрипт эти команды, vap - после этого просто не открывался, делал даже так - указывал путь запуска самого скрипта который прописывается после установки vap - прога просто открывалась без загруженного фото.

def menu_activate_cb(self, menu, images):
        args = ["/usr/bin/vap"]
- так, что работает только вот эта команда, но только как я говорил для печати одной фотографии, при выделении нескольких - всё равно загружается одно изображение - последнее выделенное.

Скидываю во вложении сам скрипт на питоне, может посмотрите, что к чему.
« Последнее редактирование: 18 Июля 2013, 09:59:47 от brenti »

Оффлайн viktand

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
    • Просмотр профиля
Я в питоне не силен, поэтому могу только предположить, что надо попробовать переделать цикл
"for ff in images"
Переделать так, чтобы программе передавался список файлов в виде одной строки, состоящей из имен файлов с полными путями, разделенными пробелами и без параметра -f

Ну то есть что-то типа
s=""
for ff in images
   s=s+urllib.unquote(ff.get_uri()[7:])+" "
args.extend(s)
Сразу говорю, что синтаксис это примера скорее всего с ошибками, т.к. я на питоне не пишу, но логика должна быть понятна.
Кроме того, следует убедиться, что после ff.get_uri()[7:] в имени остается начальный / (если нет, то видимо написать [6:]).

Вообще вы реализуете мою мысль добавить в меню пункт через Nautilus extension. Но в виду слабого знания питона у меня это не получилось.

Оффлайн brenti

  • Активист
  • *
  • Сообщений: 485
    • Просмотр профиля
Bсё сделал! ;) вместо параметра "-f" поставил слэш "/" теперь выделенные фото все добавляются в программу VAP args = ["/usr/bin/vap"]
        for ff in images:
            # Remove "file://" and unquote the filename
            args.extend(("/", urllib.unquote(ff.get_uri()[7:])))
        retVal = subprocess.call(args)
пакет пересобрал - скачать можно во вложении, буду очень рад если автор программы VAP добавит его в свой репозиторий :)


« Последнее редактирование: 22 Июля 2013, 14:29:01 от brenti »

Оффлайн viktand

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
    • Просмотр профиля
Постараюсь добавить, однако это потребует включение зависимости от Nautilus extension, т.е. дополнительный пакет при установке.
Кроме того следует проверить как открываются файлы с именами на русском языке. Если скрипт откидывает "file://", то возможно, что имя файла передается в виде escape последовательности (как в адресной строке браузера: %D0%21....). В этом случае все упрощается, т.к. vap понимает такие имена и urllib.unquote(ff.get_uri()[7:]) становится вообще не нужным.
Ну и по части оптимизации скрипта:
1. нет смысла делать фильтр по типу файлов для массива images (если только это не связано с отображением пункта меню для нужных файлов) - vap просто проигнорирует непонятные файлы, т.е. отфильтрует сам.
2. вместо "args.extend(("/", urllib.unquote(ff.get_uri()[7:])))" наверно лучше написать "args.extend(( urllib.unquote(ff.get_uri()[6:])))"

Оффлайн brenti

  • Активист
  • *
  • Сообщений: 485
    • Просмотр профиля
пункт "Печать" появляется именно при выделении файлов изображения(ий), bmp, png,  jpg и jpeg с русскими именами файлов скрипт тоже работает, сейчас проверил.

Оффлайн brenti

  • Активист
  • *
  • Сообщений: 485
    • Просмотр профиля
кстати, при печати из наутилуса когда уже вылезает окно программы VAP с изображениями, то сам наутилус зависает в это время, папку другую не откроешь пока запущена программа печати VAP, короче говоря пока фотки не распечатаются - файловым менеджером не попользуешься. если можно поправьте пожалуйста автор :-)

Оффлайн viktand

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
    • Просмотр профиля
кстати, при печати из наутилуса когда уже вылезает окно программы VAP с изображениями, то сам наутилус зависает в это время, папку другую не откроешь пока запущена программа печати VAP, короче говоря пока фотки не распечатаются - файловым менеджером не попользуешься. если можно поправьте пожалуйста автор :-)

У меня такого нет. Может это от Nautilus extension?

Я сейчас занят тем, что переписываю весь код на С (Си), т.к. Pascal (Lazarus) оказался не очень хорош и в программе уже слишком много "костылей" для преодоления трудностей. Это не так легко, как хотелось бы, поэтому пока обновлений не будет.

Оффлайн schnauss

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Хотелось бы предложить Вам переписать программу на С++ с использованием фреймворка Qt, раз собираетесь уходить от лазаруса.

Оффлайн viktand

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
    • Просмотр профиля
Хотелось бы предложить Вам переписать программу на С++ с использованием фреймворка Qt, раз собираетесь уходить от лазаруса.

Я уже начал на С и gtk. Такой набор выбрал потому что, на сколько я знаю, именно этой комбинации отдается приоритет в Ubuntu. Если с Си проблем в общем-то нет, то gtk - это что-то странное. Очень тяжело идет. На данный момент программа периодически падает из-за ошибок сигментации. Падает без всякой системы, т.е. отловить ошибку не могу. Читал, что Qt более вменяемое, но хочется быть ближе к "лини партии".

Оффлайн Phlya

  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
И то и то близко к линии партии, потому что, хоть все приложения для десктопа каноникл и делает на GTK, Unity они на Qt переписывают =)
(На питоне, кстати, c GTK все нормально, не знаю уж, что там в С...)
Ubuntu 14.04 (Unity), MSI GE40

 

Страница сгенерирована за 0.02 секунд. Запросов: 19.