1
0
Fork 0
oldhaven/php/bin/add_artist_to_queue.php

40 lines
1.1 KiB
PHP
Executable File

#!/opt/local/bin/php
<?php
chdir('..');
require_once 'common.php';
Config::loadFile('app', 'config/app.ini');
$artist_name = $argv[1];
$db = Db::getInstance();
$a_model = Model::factory('musicbrainz', 'Artist');
$rg_model = Model::factory('musicbrainz', 'ReleaseGroup');
$r_model = Model::factory('musicbrainz', 'Release');
$t_model = Model::factory('musicbrainz', 'Track');
$artist_id = $a_model->getId($artist_name);
if (!$artist_id) {
echo "Bad artist name!\n\n\n"; die;
}
$albums = $rg_model->getArtistAlbums($artist_id);
$release_groups = $r_model->getReleases(array_keys($albums), true);
$g_tracks = array();
foreach ($release_groups as $release_group => $releases) {
$g_tracks[$release_group] = $t_model->getUniqueReleaseTracks(array_keys($releases));
}
foreach($g_tracks as $release_group => $tracks) {
$tracks = $tracks['tracks'] + $tracks['bonus'];
foreach ($tracks as $track) {
$track_id = $track['id'];
$track_title = addslashes($artist_name .' - '. $track['name']);
$track_length = $track['length'];
$q = "INSERT INTO beathaven.queue VALUES({$track_id}, 0, E'{$track_title}', {$track_length});";
echo $q."\n";
$db->q($q);
}
}