Skip to content
Snippets Groups Projects
Commit b19a61f9 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Clean some code

parent 88fc95c1
No related branches found
No related tags found
1 merge request!16Resolve "Clean some code"
<?php <?php
require '../spotify/spotify.php'; require '../spotify/spotify.php';
require '../spotify/lib.php';
if (isset($_GET['logout'])) { if (isset($_GET['logout'])) {
$_SESSION['accessToken'] = ''; $_SESSION['accessToken'] = '';
...@@ -104,22 +105,8 @@ if ($generatePlaylistFromPlaylist) { ...@@ -104,22 +105,8 @@ if ($generatePlaylistFromPlaylist) {
$recommendedTrackIds = $filteredTrackIds; $recommendedTrackIds = $filteredTrackIds;
} }
$recommendedTrackIds = array_keys($recommendedTrackIds); $newPlaylist = createPlaylistWithRandomTracks($api, $recommendedTrackIds);
error_log('=> Got '.count($recommendedTrackIds).' unique recommendatations for this playlist.'); $templateData['infos'][] = getCreatedPlaylistInformationMessage($api, $newPlaylist->id);
shuffle($recommendedTrackIds);
$pickedTrackIds = array_slice($recommendedTrackIds, 0, 50);
error_log('Keep '.count($pickedTrackIds).' tracks.');
$now = new DateTime();
$newPlaylistName = 'Fresh playlist ['.$now->format('Y-m-d H:i:s').']';
error_log('Create new playlist "'.$newPlaylistName.'".');
$newPlaylist = $api->createPlaylist([
'name' => $newPlaylistName,
]);
$api->replacePlaylistTracks($newPlaylist->id, $pickedTrackIds);
$playlistLink = '<a href="'.$newPlaylist->external_urls->spotify.'">'.$newPlaylistName.'</a>';
$templateData['infos'][] = 'Ok created new playlist with '.count($pickedTrackIds).' tracks: '.$playlistLink;
} elseif ($generatePlaylistFromArtists) { } elseif ($generatePlaylistFromArtists) {
$selectedArtists = $_GET['selected-artist']; $selectedArtists = $_GET['selected-artist'];
error_log('Will create new playlist with filterted recommendations from artists: '.join(', ', $selectedArtists).'".'); error_log('Will create new playlist with filterted recommendations from artists: '.join(', ', $selectedArtists).'".');
...@@ -151,22 +138,8 @@ if ($generatePlaylistFromPlaylist) { ...@@ -151,22 +138,8 @@ if ($generatePlaylistFromPlaylist) {
} }
} }
$recommendedTrackIds = array_keys($recommendedTrackIds); $newPlaylist = createPlaylistWithRandomTracks($api, $recommendedTrackIds);
error_log('=> Got '.count($recommendedTrackIds).' unique recommendatations.'); $templateData['infos'][] = getCreatedPlaylistInformationMessage($api, $newPlaylist->id);
shuffle($recommendedTrackIds);
$pickedTrackIds = array_slice($recommendedTrackIds, 0, 50);
error_log('Keep '.count($pickedTrackIds).' random tracks.');
$now = new DateTime();
$newPlaylistName = 'Fresh playlist ['.$now->format('Y-m-d H:i:s').']';
error_log('Create new playlist "'.$newPlaylistName.'".');
$newPlaylist = $api->createPlaylist([
'name' => $newPlaylistName,
]);
$api->replacePlaylistTracks($newPlaylist->id, $pickedTrackIds);
$playlistLink = '<a href="'.$newPlaylist->external_urls->spotify.'">'.$newPlaylistName.'</a>';
$templateData['infos'][] = 'Ok created new playlist with '.count($pickedTrackIds).' tracks: '.$playlistLink;
} else { } else {
$templateData['topArtists'] = $api->getMyTop('artists', ['limit' => $topArtistsCount, 'time_range' => 'short_term'])->items; $templateData['topArtists'] = $api->getMyTop('artists', ['limit' => $topArtistsCount, 'time_range' => 'short_term'])->items;
$templateData['playlists'] = $api->getUserPlaylists($user->id, ['limit' => $playlistsCount])->items; $templateData['playlists'] = $api->getUserPlaylists($user->id, ['limit' => $playlistsCount])->items;
......
<?php
function generatePlaylistName() {
$now = new DateTime();
$name = 'Fresh playlist ['.$now->format('Y-m-d H:i:s').']';
return $name;
}
function createEmptyPlaylist($api) {
$name = generatePlaylistName();
error_log('Create new playlist "'.$name.'".');
$playlist = $api->createPlaylist([
'name' => $name,
]);
return $playlist;
}
function pickRandomTrackFromArray($recommendedTrackIds, $count = 50) {
$recommendedTrackIds = array_keys($recommendedTrackIds);
error_log('=> Got '.count($recommendedTrackIds).' unique recommendatations.');
shuffle($recommendedTrackIds);
$pickedTrackIds = array_slice($recommendedTrackIds, 0, 50);
error_log('Keep '.count($pickedTrackIds).' random tracks.');
return $pickedTrackIds;
}
function createPlaylistWithRandomTracks($api, $trackIds, $count = 50) {
$playlist = createEmptyPlaylist($api);
$pickedTrackIds = pickRandomTrackFromArray($trackIds);
$api->replacePlaylistTracks($playlist->id, $pickedTrackIds);
return $playlist;
}
function getCreatedPlaylistInformationMessage($api, $playlistId) {
$playlist = $api->getPlaylist($playlistId);
$link = '<a href="'.$playlist->external_urls->spotify.'">'.$playlist->name.'</a>';
$message = 'Ok created new playlist with '.count($playlist->tracks->items).' tracks: '.$link;
return $message;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment