PythonPython и плейлист Audacious

Недавно, на досуге, то ли от нечего делать, то ли от лени постоянно Драг'н'Дропать файлы в плейлист Audacious решил написать простенький скриптик на питоне для добавления файлов в плейлист и добавить его в контекстное меню Наутилуса. И решил, почему бы не поделиться им с общественностью?

Для начала сам скрипт:
#!/usr/bin/python
#coding=utf-8

from sys import argv
from os import system

if len(argv) > 1:
	for j in range(1, len(argv)):
		i = 0
		filename = argv[j]
		while (i <= len(filename) - 1):
			if (filename[i] == ' '):
				filename = filename[:i] + '\\' + filename[i:]
				i += 1
			i += 1	
		system('audacious -e ' + filename)
		
	
	if (len(argv) - 1) > 1:
		s = 's'
	else:
		s = ''
	system('notify-send -i /usr/share/icons/hicolor/48x48/apps/audacious.png "Audacious" "' + str(len(argv) - 1) + ' file' + s + ' added to playlist"')
else:
	print "No input parameters. Please, chose file(s) and try again."


Для корректной работы всплывающих уведомлений нужно установить notify-osd (в Ubuntu 9.04 и выше он уже есть)
sudo apt-get install notify-osd
и libnotify-bin
sudo apt-get install libnotify-bin 

Сохраняем скрипт, допустим, в ~ и делаем ему chmod +x.

Далее, ели вы хотите добавить этот скрипт в контекстное меню, нужно установить пакет nautilus-actions. Для этого запускаем gnome-terminal или еще чего-нибудь и набираем
sudo apt-get install nautilus-actions

После установки жмем Alt+F2 и пишем nautilus-actions-config.



Появляется главное окошко программы. Жмем кнопочку «Добавить».

Теперь пройдемся по вкладкам.

Вкладка «Actions»:
Текст пункта меню: Add to playlist
Подсказку можно оставить пустой.
Значок можно выбрать по своему желанию (лично у меня выбрать значок не из списка не получилось).
В поле «Путь» прописываем путь до скрипта.
В поле «Аргументы» указываем %M.



Вкладка Условия:
В поле названия фалов пишем "*.mp3; *.ogg; *.wma; *.flac". Можете сами добавить расширений
аудифайлов, мне неизвестных.
Галочку с «С учетом регистра» можно убрать (а можно и оставить).
Пункт «Типы MIME» оставим как есть.
Ставим галку на «Только файлы» и «Появляется, если выбрано несколько файлов».



Во вкладке «Дополнительные условия» можете поставить галочки по своему усмотрению.



Теперь можно смело жать «ОК» и закрывать программу.

Все, дело осталось за малым. Открываем Nautilus и выделяем один или несколько аудио-файлов, кликаем правой кнопочкой и выбираем пункт «Add to playlist» и музыка волшебным образом оказывается в плейлисте Audacious. Вот, собственно, и все.

P.S: Прошу оставлять все просьбы по улучшению и замечания в комментариях (а можно и в личку, у нас демократия).
  • +7
  • kakty3
  • 26 октября 2009, 19:59

Комментарии (6)

Прошу оставлять все просьбы по улучшению и замечания в комментариях.

Под кат.
ЗЫ: а так хотел в личку написать :).
Еще как мне кажется, стоит указывать в начале каждого скрипта используемые программы(пакеты). Это особенно критично для таких скриптов как этот — т.е. те, которые вызываются не через консоль. И отсутствие какой-либо программы мы не узнаем. Например тут мы просто не будем получать уведомление, однако в более тяжелом случае — мы получим не рабочий скрипт.
Так что я бы добавил либо комментарий, либо отдельный текстовый файл(у меня он содержит необходимые программы для всех моих скриптов — после переустановки ОС проще доставлять нужные пакеты).
Спасибо, исправил.
  • avatar
  • fog
  • 27 октября 2009, 05:45
  • #
  • 1
Какой большой и полезный пост. Огромное спасибо! :-)
ps: Плюсанул и пост и рейтинг.
Не пользуюсь audacious'ом Поэтому подправил его для MOCP)
И что-то он не работает) И дело не в самом скрипте а в том что не добавляется пункт в наутилусе(( Может кто подскажет в чем проблема?
Полезный пост!
Если автор не против — разместил пост с его скриптом и реализацией меню тут — конечно же ссылка на данный топик поставлена, авторство так же указано!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.