kakty3 26.10.2009 21:18
Python — Python и плейлист Audacious
Недавно, на досуге, то ли от нечего делать, то ли от лени постоянно Драг'н'Дропать файлы в плейлист Audacious решил написать простенький скриптик на питоне для добавления файлов в плейлист и добавить его в контекстное меню Наутилуса. И решил, почему бы не поделиться им с общественностью?Для начала сам скрипт:
Для корректной работы всплывающих уведомлений нужно установить notify-osd (в Ubuntu 9.04 и выше он уже есть)
1 |
|
и libnotify-bin
1 |
|
Сохраняем скрипт, допустим, в ~ и делаем ему chmod +x.
Далее, ели вы хотите добавить этот скрипт в контекстное меню, нужно установить пакет nautilus-actions. Для этого запускаем gnome-terminal или еще чего-нибудь и набираем
1 |
|
После установки жмем Alt+F2 и пишем nautilus-actions-config.
Появляется главное окошко программы. Жмем кнопочку "Добавить".
Теперь пройдемся по вкладкам.
Вкладка "Actions":
-Текст пункта меню: Add to playlist
-Подсказку можно оставить пустой.
-Значок можно выбрать по своему желанию (лично у меня выбрать значок не из списка не получилось).
-В поле "Путь" прописываем путь до скрипта.
-В поле "Аргументы" указываем %M.
Вкладка Условия:
-В поле названия фалов пишем "*.mp3 ; *.ogg ; *.wma ; *.flac". Можете сами добавить расширений
аудифайлов, мне неизвестных.
-Галочку с "С учетом регистра" можно убрать (а можно и оставить).
-Пункт "Типы MIME" оставим как есть.
-Ставим галку на "Только файлы" и "Появляется, если выбрано несколько файлов".
Во вкладке "Дополнительные условия" можете поставить галочки по своему усмотрению.
Теперь можно смело жать "ОК" и закрывать программу.
Все, дело осталось за малым. Открываем Nautilus и выделяем один или несколько аудио-файлов, кликаем правой кнопочкой и выбираем пункт "Add to playlist" и музыка волшебным образом оказывается в плейлисте Audacious. Вот, собственно, и все.
P.S: Прошу оставлять все просьбы по улучшению и замечания в комментариях (а можно и в личку, у нас демократия).
UPDATE: добавил экранирование разных символов в имени файла.
Может и им можно, но все же у nautilus-actions возможностей и настроек по-больше будет.
Занятно, но ИМХО можно было и без питона обойтись - возможностей bash для такого скрипта более чем достаточно. Но все-равно спасибо - напомнили, что давно exaile к Thunar'у хотел аналогичным образом прикрутить :)
Скрипты на питоне имеют свойства тупо зависать, выдавая много отладочной инфы, я бы все это завернул в один блок try.
тупо ничего не зависает :)
что в try то ловить?
можно через signal.timer правда вылавливать тупозависания, если уж они имеют место
что в try то ловить?
можно через signal.timer правда вылавливать тупозависания, если уж они имеют место
что то я не совсем понял что происходит во втором цикле, можете пояснить пожалуйста?
в общем наверное кошерней было бы сделать как нибудь вот так http://dpaste.com/113139/
З.Ы.
Я с помощью nautilus-script делал )