Online video hd

Смотреть зрелые видео

Официальный сайт detisavve 24/7/365

Смотреть видео бесплатно

kakty3 26.10.2009 21:18

PythonPython и плейлист Audacious

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


Для начала сам скрипт:

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/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> in <' ', '&', '\\', '\'', '"'>:
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."</i:></i></j>



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

1
sudo apt-get install notify-osd



и libnotify-bin

1
sudo apt-get install libnotify-bin 


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

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

1
sudo apt-get install nautilus-actions


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

32171fb2a3.jpg

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

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

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

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

48a7d0f60e.jpg

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

71b2a4c3b4.jpg

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

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

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

UPDATE: добавил экранирование разных символов в имени файла.


Тэги: audacious gnome nautilus-actions python
+ 11 -
Похожие Поделиться

FalleN 26.10.2009 21:36 #
+ 0 -
Спасибо!
З.Ы.
Я с помощью nautilus-script делал )
kakty3 26.10.2009 21:38 #
+ 0 -
Может и им можно, но все же у nautilus-actions возможностей и настроек по-больше будет.
ava1ar 27.10.2009 10:57 #
+ 0 -
Занятно, но ИМХО можно было и без питона обойтись - возможностей bash для такого скрипта более чем достаточно. Но все-равно спасибо - напомнили, что давно exaile к Thunar'у хотел аналогичным образом прикрутить :)
nikebl 27.10.2009 13:21 #
+ 2 -
Скрипты на питоне имеют свойства тупо зависать, выдавая много отладочной инфы, я бы все это завернул в один блок try.
bobry 28.10.2009 14:20 #
+ 0 -
тупо ничего не зависает :)
что в try то ловить?
можно через signal.timer правда вылавливать тупозависания, если уж они имеют место
bobry 28.10.2009 14:27 #
+ 0 -
соврал, sinal.alarm тут
bobry 28.10.2009 14:17 #
+ 0 -
что то я не совсем понял что происходит во втором цикле, можете пояснить пожалуйста?
bobry 28.10.2009 14:19 #
+ 0 -
и вообще, что собственно скрипт должен делать с filename?
kakty3 28.10.2009 14:52 #
+ 0 -
Он экранирует пробелы и прочие знаки.
bobry 28.10.2009 14:51 #
+ 1 -
в общем наверное кошерней было бы сделать как нибудь вот так http://dpaste.com/113139/
kakty3 28.10.2009 14:55 #
+ 0 -
Можно и так, но не учитывается, что в имени могут быть \ ' " &

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн