Долго мучаясь и пытаясь придумать/найти как скопировать любимую музыку из плеера Banshee на usb носитель — плюнул на всё и быстренько написал простой скрипт на php для копирования музыки с рейтингом выше 0 в определенную папку.
Требует:
Запуск:
где /media/disk/audio/ — куда мы будем копировать (слеш в начале и конце обязательны)
PS: надеюсь кто нибудь перепишет это с GUI =)
PPS: попозже сделаю версию чтобы в папку копировались файлы не с оригинальным названием файла, а %альбом% — %исполнитель% — %название% — как выяснилось в коллекции много TrackXX.mp3
<?
// определяем пользователя
$user_name=str_replace(array("\n","\r"),"",shell_exec ("whoami"));
// путь к SQLite3 базе Banshee
$db="/home/".$user_name."/.config/banshee-1/banshee.db";
// папка фонотеки
$file_start="/home/".$user_name."/Музыка/";
// узнаем куда копировать
$copy_to=$_SERVER['argv'][1];
print "| Banshee-1 | Copy favorite music to folder | SovGVD@gmail.com (2009) | v0.1 |\n";
print "------------------------------------------------------------------------------\n";
if ($copy_to=='') die ("ERROR: false destination\nuse: php script_name.php path_to_folder\n");
$db = new SQLite3($db);
$result = $db->query('select Uri from CoreTracks where rating>0');
$arr=array();
while($tmp=$result->fetchArray()) {
if (!stristr($tmp['Uri'],'file://')) {
$arr[]=$tmp['Uri'];
}
}
$db->close();
reset ($arr);
while (list($key,$val)=each($arr)) {
$tmp_file=$file_start.$val;
print $val." ";
if (@copy($tmp_file, $copy_to.basename($val))) {
print " [ok]";
} else {
print " [false]";
}
print "\n";
}
?>
Требует:
php и php-SQLite3
Запуск:
php script_name.php /media/disk/audio/
где /media/disk/audio/ — куда мы будем копировать (слеш в начале и конце обязательны)
PS: надеюсь кто нибудь перепишет это с GUI =)
PPS: попозже сделаю версию чтобы в папку копировались файлы не с оригинальным названием файла, а %альбом% — %исполнитель% — %название% — как выяснилось в коллекции много TrackXX.mp3