From c10a00b6952a5b9f2c18e8ba7db87561fa12ddaa Mon Sep 17 00:00:00 2001 From: llaffont <llaffont@afi-sa.fr> Date: Thu, 9 Apr 2015 16:24:54 +0200 Subject: [PATCH] dev jamendo create jamendo connector and create album from jamendo API --- library/Class/AlbumRessource.php | 90 +- library/Class/TypeDoc.php | 2 + .../WebService/BibNumerique/Abstract.php | 2 +- .../WebService/BibNumerique/ArteVOD/Film.php | 3 - .../Cyberlibris/LivreNumerique.php | 5 +- .../WebService/BibNumerique/Dilicom/Book.php | 1 - .../Class/WebService/BibNumerique/Jamendo.php | 75 ++ .../WebService/BibNumerique/Jamendo/Album.php | 55 + .../NumeriquePremium/Publication.php | 5 +- .../BibNumerique/Numilog/LivreNumerique.php | 7 +- .../BibNumerique/OneDTouch/Album.php | 3 +- .../BibNumerique/Orphea/MetaDatasParser.php | 2 +- .../BibNumerique/Orphea/Ressource.php | 8 - .../BibNumerique/RessourceNumerique.php | 2 + .../Class/WebService/Jamendo/Album.php | 26 + .../Class/WebService/Jamendo/JamendoTest.php | 130 ++ .../WebService/Jamendo/tracks_page_0.json | 643 ++++++++++ .../WebService/Jamendo/tracks_page_1.json | 1075 +++++++++++++++++ .../WebService/Jamendo/tracks_page_2.json | 12 + 19 files changed, 2074 insertions(+), 72 deletions(-) create mode 100644 library/Class/WebService/BibNumerique/Jamendo.php create mode 100644 library/Class/WebService/BibNumerique/Jamendo/Album.php create mode 100644 tests/library/Class/WebService/Jamendo/Album.php create mode 100644 tests/library/Class/WebService/Jamendo/JamendoTest.php create mode 100644 tests/library/Class/WebService/Jamendo/tracks_page_0.json create mode 100644 tests/library/Class/WebService/Jamendo/tracks_page_1.json create mode 100644 tests/library/Class/WebService/Jamendo/tracks_page_2.json diff --git a/library/Class/AlbumRessource.php b/library/Class/AlbumRessource.php index 8eb6247f644..8ea55117d04 100644 --- a/library/Class/AlbumRessource.php +++ b/library/Class/AlbumRessource.php @@ -16,7 +16,7 @@ * * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE * along with BOKEH; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ class AlbumRessourceLoader extends Storm_Model_Loader { /** @@ -37,7 +37,7 @@ class AlbumRessourceLoader extends Storm_Model_Loader { class Class_AlbumRessource extends Storm_Model_Abstract { use Trait_Translator; - + const BASE_PATH = 'media/'; const TILES_DIR = 'tiles/'; @@ -68,14 +68,14 @@ class Class_AlbumRessource extends Storm_Model_Abstract { /** @var Imagick */ protected $_image; - + /** @var AlbumRessource_TilesGenerator */ protected $_tiles_generator; /** @var int used solely in validation */ protected $_media_type; - + protected $_table_name = 'album_ressources'; protected $_primary_key = 'id'; protected $_loader_class = 'AlbumRessourceLoader'; @@ -106,7 +106,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { return self::$_image_extensions; } - + public static function getAudioExtensions() { return self::$_audio_extensions; } @@ -179,7 +179,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { $permalink = $this->getAlbum()->getPermalink(); $permalink['folio'] = $this->getFolio(); return $permalink; - } + } /** @@ -224,7 +224,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { public function receivePoster() { $oldThumbnail = $this->getThumbnailPath(); - + // fichier non requis if (!$this->isFileUploadedForName('poster')) { if ($this->isImage()) { @@ -233,7 +233,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { return $this->createThumbnail(); } - + return true; } @@ -258,7 +258,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { return $this->createThumbnail(); } - + /** * @return bool */ @@ -266,7 +266,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { // fichier non requis if (!$this->isFileUploadedForName('fichier')) return true; - + $upload = $this->getUploadHandler('fichier'); if (!$upload->receive()) { @@ -337,7 +337,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { public function getImage() { if (isset($this->_image)) return $this->_image; - + try { $this->_image = new Imagick(($this->isImage()) ? $this->getOriginalPath() : @@ -558,14 +558,14 @@ class Class_AlbumRessource extends Storm_Model_Abstract { 'crop_top' => 0), $params); - $image->cropImage($image->getImageWidth() - $resize_params['crop_left'] - $resize_params['crop_right'], - $image->getImageHeight() - $resize_params['crop_top'] - $resize_params['crop_bottom'], - $resize_params['crop_left'], + $image->cropImage($image->getImageWidth() - $resize_params['crop_left'] - $resize_params['crop_right'], + $image->getImageHeight() - $resize_params['crop_top'] - $resize_params['crop_bottom'], + $resize_params['crop_left'], $resize_params['crop_top']); - $image->resizeImage($resize_params['width'], - $resize_params['height'], - Imagick::FILTER_LANCZOS, + $image->resizeImage($resize_params['width'], + $resize_params['height'], + Imagick::FILTER_LANCZOS, 1); $image->writeImage($filepath); @@ -709,7 +709,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { $this->deletePosterAndThumbnail(); $this->setPoster(''); } - + if ((self::MEDIA_TYPE_URL == $mediaType) && $this->hasFichier()) { $this->deleteFichierAndThumbnail(); $this->setFichier(''); @@ -760,7 +760,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { /** * @return bool - */ + */ public function isImage() { return $this->isFileExtensionIn($this->getImageExtensions()); } @@ -768,7 +768,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { /** * @return bool - */ + */ public function isFlash() { return $this->isFileExtensionIn(['swf']); } @@ -776,7 +776,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { /** * @return bool - */ + */ public function isVideo() { return $this->isFileExtensionIn(['mov']); } @@ -784,7 +784,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { /** * @return bool - */ + */ public function isFile() { return !($this->isImage() or $this->isVideo() or $this->isFlash()); } @@ -793,7 +793,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { public function isAudio() { return $this->isFileExtensionIn($this->getAudioExtensions()); } - + /** * @return string @@ -807,7 +807,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { } - /** + /** * @param array $extensions * @return bool */ @@ -816,7 +816,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { } - /** + /** * @return string */ protected function humanizeFilename() { @@ -846,7 +846,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { return $folio; } - + public function setMediaType($type) { $this->_media_type = $type; return $this; @@ -856,13 +856,13 @@ class Class_AlbumRessource extends Storm_Model_Abstract { public function getMediaType() { return $this->_media_type; } - + public function validate() { $media_type = $this->getMediaType(); if (!$media_type) return; - + if (self::MEDIA_TYPE_URL == $media_type) { $this ->validateAttribute('url', 'Zend_Validate_NotEmpty', 'Url du média requise') @@ -940,12 +940,12 @@ class Class_AlbumRessource extends Storm_Model_Abstract { if (isset($unimarc[$field])) return $unimarc[$field]; return null; - + } public function setUnimarc($array_or_string) { - if (is_array($array_or_string)) + if (is_array($array_or_string)) parent::setUnimarc(serialize($array_or_string)); else parent::setUnimarc($array_or_string); @@ -973,7 +973,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { foreach($unimarcs as $k => $unimarc) if (is_array($unimarc) && $unimarc['field'] == $zone) $to_delete[] = $k; - + foreach($to_delete as $i) unset($unimarcs[$i]); @@ -1000,9 +1000,9 @@ class Class_AlbumRessource extends Storm_Model_Abstract { return array_filter( array_map( function($item) { - return (!is_array($item) || !isset($item['a'])) ? + return (!is_array($item) || !isset($item['a'])) ? null : $item['a']; - }, + }, $this->getAuthors())); } @@ -1016,9 +1016,9 @@ class Class_AlbumRessource extends Storm_Model_Abstract { array_map( function($item) { return (!is_array($item) || '701' !== $item['field'] - || !isset($item['data']) || !isset($item['data']['a'])) ? + || !isset($item['data']) || !isset($item['data']['a'])) ? null : $item['data']; - }, + }, $this->getUnimarcAsArray())); } @@ -1027,9 +1027,9 @@ class Class_AlbumRessource extends Storm_Model_Abstract { * add author in unimarc container if not present with the same function */ public function addAuthor($name, $function = null) { - if (!$name) + if (!$name) return $this; - + $datas = ['a' => $name]; if (null !== $function) $datas['4'] = $function; @@ -1037,7 +1037,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { if (!in_array((string)$name, $this->getAuthorsNames())) return $this->addMultipleUnimarc('701', $datas); - if (!$function) + if (!$function) return $this; $found = false; @@ -1045,7 +1045,7 @@ class Class_AlbumRessource extends Storm_Model_Abstract { if ($name == $author['a'] && $function == $author['4']) { $found = true; break; - } + } } return (!$found) ? $this->addMultipleUnimarc('701', $datas) : $this; @@ -1053,10 +1053,10 @@ class Class_AlbumRessource extends Storm_Model_Abstract { public function findTitle() { - return - $this->getTitre() - ? $this->getTitre() - : ($this->getFichier() + return + $this->getTitre() + ? $this->getTitre() + : ($this->getFichier() ? $this->humanizeFilename() : $this->getFolio()); } @@ -1064,8 +1064,8 @@ class Class_AlbumRessource extends Storm_Model_Abstract { public function acceptVisitor($visitor) { $view_helper = (new ZendAfi_Controller_Action_Helper_View()); - $visitor->visitRessourceDatas($this->findTitle(), - $this->getDuration(), + $visitor->visitRessourceDatas($this->findTitle(), + $this->getDuration(), $this->getAuthorsNames(), $view_helper->album_PlayRessourceUrl($this)); } diff --git a/library/Class/TypeDoc.php b/library/Class/TypeDoc.php index 042f97ad354..b428e698a8f 100644 --- a/library/Class/TypeDoc.php +++ b/library/Class/TypeDoc.php @@ -207,6 +207,7 @@ class Class_TypeDoc extends Storm_Model_Abstract { const DILICOM = 112; const ORPHEA = 113; const ONEDTOUCH = 114; + const JAMENDO = 115; public static function getDefaultTypeDocs() { @@ -233,6 +234,7 @@ class Class_TypeDoc extends Storm_Model_Abstract { self::DILICOM => 'Livre numérique (PNB)', self::ONEDTOUCH => '1D touch', self::ORPHEA => 'Orphea', + self::JAMENDO => 'Jamendo', ]; } diff --git a/library/Class/WebService/BibNumerique/Abstract.php b/library/Class/WebService/BibNumerique/Abstract.php index 3561496df7c..9b002b0c2c2 100644 --- a/library/Class/WebService/BibNumerique/Abstract.php +++ b/library/Class/WebService/BibNumerique/Abstract.php @@ -67,7 +67,7 @@ abstract class Class_WebService_BibNumerique_Abstract extends Class_WebService_A $this->_harvested_ids = array_merge($this->_harvested_ids, $this->_importRessources($ress_numerique)); $current_page++; - } while ($current_page <= $total_page); + } while (($current_page <= $total_page) && !empty($ress_numerique)); $this->_deleteNonHarvested(); } diff --git a/library/Class/WebService/BibNumerique/ArteVOD/Film.php b/library/Class/WebService/BibNumerique/ArteVOD/Film.php index e1e32fd04d3..ff05e37c4b8 100644 --- a/library/Class/WebService/BibNumerique/ArteVOD/Film.php +++ b/library/Class/WebService/BibNumerique/ArteVOD/Film.php @@ -39,9 +39,6 @@ class Class_WebService_BibNumerique_ArteVOD_Film extends Class_WebService_BibNu ->setDuration($this->duration.' min') ->setTags($this->getTags()); - foreach ($this->getAuthors() as $author) - $album->addAuthor($author); - foreach ($this->getActors() as $actor) $album->addAuthor(trim($actor->last_name . ' ' . $actor->first_name), '005'); diff --git a/library/Class/WebService/BibNumerique/Cyberlibris/LivreNumerique.php b/library/Class/WebService/BibNumerique/Cyberlibris/LivreNumerique.php index 152aceeaa4a..d50442c8a68 100644 --- a/library/Class/WebService/BibNumerique/Cyberlibris/LivreNumerique.php +++ b/library/Class/WebService/BibNumerique/Cyberlibris/LivreNumerique.php @@ -16,7 +16,7 @@ * * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE * along with BOKEH; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -34,8 +34,7 @@ class Class_WebService_BibNumerique_Cyberlibris_LivreNumerique extends Class_Web $album->beCyberlibris() ->setDescription($this->getDescription()) ->setEditeur($this->getEditeur()); - foreach($this->getAuthors() as $author) - $album->addAuthor($author); + return $album; } diff --git a/library/Class/WebService/BibNumerique/Dilicom/Book.php b/library/Class/WebService/BibNumerique/Dilicom/Book.php index fb221012fa0..b6198c6d029 100644 --- a/library/Class/WebService/BibNumerique/Dilicom/Book.php +++ b/library/Class/WebService/BibNumerique/Dilicom/Book.php @@ -44,7 +44,6 @@ class Class_WebService_BibNumerique_Dilicom_Book extends Class_WebService_BibNum ->getLoanConstraint() ->setOrderLineId($this->_order_line_id); - array_map([$album, 'addAuthor'], $this->getAuthors()); array_map([$album, 'addCollection'], $this->_collections); } diff --git a/library/Class/WebService/BibNumerique/Jamendo.php b/library/Class/WebService/BibNumerique/Jamendo.php new file mode 100644 index 00000000000..2b43e96a727 --- /dev/null +++ b/library/Class/WebService/BibNumerique/Jamendo.php @@ -0,0 +1,75 @@ +<?php +/** + * Copyright (c) 2012, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +class Class_WebService_BibNumerique_Jamendo extends Class_WebService_BibNumerique_Abstract { + const BASE_URL = 'https://api.jamendo.com/v3.0/albums/tracks/?format=json&order=id_desc&limit=10'; + + protected + $_page_count=0, + $_jamendo_albums; + + public function getPageCount() { + return $this->_page_count; + } + + + public function getRessourcesNumeriques() { + return $this->_jamendo_albums; + } + + + public function isEnabled() { + return ('' != trim(Class_AdminVar::get('JAMENDO_CLIENT_ID'))); + } + + + public function getName() { + return 'Jamendo'; + } + + + protected function _deleteNonHarvested() { + return $this; + } + + + protected function _getBaseUrl() { + return self::BASE_URL.'&client_id='.Class_AdminVar::get('JAMENDO_CLIENT_ID'); + } + + + protected function loadPage($page_number = 1) { + $content = $this->httpGet($this->_getBaseUrl().'&offset='.($page_number-1)*10); + $json = json_decode($content); + + if ($page_number == 1) { + $this->_page_count = ($json->results[0]->id)/10; + } + + $this->_jamendo_albums = []; + foreach($json->results as $result) { + $this->_jamendo_albums []= new Class_WebService_BibNumerique_Jamendo_Album($result); + } + return $this; + } +} + +?> \ No newline at end of file diff --git a/library/Class/WebService/BibNumerique/Jamendo/Album.php b/library/Class/WebService/BibNumerique/Jamendo/Album.php new file mode 100644 index 00000000000..28c5656641b --- /dev/null +++ b/library/Class/WebService/BibNumerique/Jamendo/Album.php @@ -0,0 +1,55 @@ +<?php +/** + * Copyright (c) 2012-2014, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Class_WebService_BibNumerique_Jamendo_Album extends Class_WebService_BibNumerique_RessourceNumerique { + public function __construct($json) { + $this + ->setId($json->id) + ->setTitle($json->name) + ->addAuthor($json->artist_name) + ->addPoster($json->image); + + + $tracks = []; + foreach($json->tracks as $track) { + $ressource = new Class_AlbumRessource(); + $ressource + ->setMediaType(Class_AlbumRessource::MEDIA_TYPE_URL) + ->setTitre($track->name) + ->setUrl($track->audio); + $tracks []= $ressource; + } + $this->setRessources($tracks); + } + + + protected function getTypeDoc() { + return Class_TypeDoc::JAMENDO; + } + + public function fillAlbum($album) { + $album->setTypeDocId(Class_TypeDoc::JAMENDO); + } + +} + +?> \ No newline at end of file diff --git a/library/Class/WebService/BibNumerique/NumeriquePremium/Publication.php b/library/Class/WebService/BibNumerique/NumeriquePremium/Publication.php index 52dfc63b961..b0dfe55886f 100644 --- a/library/Class/WebService/BibNumerique/NumeriquePremium/Publication.php +++ b/library/Class/WebService/BibNumerique/NumeriquePremium/Publication.php @@ -16,7 +16,7 @@ * * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE * along with BOKEH; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -27,9 +27,6 @@ class Class_WebService_BibNumerique_NumeriquePremium_Publication extends Class_W ->beNumeriquePremium() ->setEditeur($this->getEditeur()); - foreach ($this->getAuthors() as $author) - $album->addAuthor($author); - return $album; } diff --git a/library/Class/WebService/BibNumerique/Numilog/LivreNumerique.php b/library/Class/WebService/BibNumerique/Numilog/LivreNumerique.php index 0bfbed46860..50777a09a9d 100644 --- a/library/Class/WebService/BibNumerique/Numilog/LivreNumerique.php +++ b/library/Class/WebService/BibNumerique/Numilog/LivreNumerique.php @@ -16,7 +16,7 @@ * * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE * along with BOKEH; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ class Class_WebService_BibNumerique_Numilog_LivreNumerique extends Class_WebService_BibNumerique_RessourceNumerique { @@ -33,8 +33,7 @@ class Class_WebService_BibNumerique_Numilog_LivreNumerique extends Class_WebServ $album->beNumilog() ->setDescription($this->getDescription()) ->setEditeur($this->getEditeur()); - foreach($this->getAuthors() as $author) - $album->addAuthor($author); + $this->addPoster('http://couverture.numilog.com/' . $this->_id.'_GRANDE.jpg'); return $album; } @@ -42,7 +41,7 @@ class Class_WebService_BibNumerique_Numilog_LivreNumerique extends Class_WebServ public function getRessourceCategorieLibelle() { return Class_WebService_BibNumerique_Numilog::CATEGORY_LABEL; - } + } } ?> \ No newline at end of file diff --git a/library/Class/WebService/BibNumerique/OneDTouch/Album.php b/library/Class/WebService/BibNumerique/OneDTouch/Album.php index a2d90c25bad..695bab657a3 100644 --- a/library/Class/WebService/BibNumerique/OneDTouch/Album.php +++ b/library/Class/WebService/BibNumerique/OneDTouch/Album.php @@ -31,8 +31,7 @@ class Class_WebService_BibNumerique_OneDTouch_Album extends Class_WebService_Bib $album->beOneDTouch() ->setDescription($this->getDescription()) ->setEditeur($this->getEditeur()); - foreach($this->getAuthors() as $author) - $album->addAuthor($author); + return $album; } diff --git a/library/Class/WebService/BibNumerique/Orphea/MetaDatasParser.php b/library/Class/WebService/BibNumerique/Orphea/MetaDatasParser.php index 87ccc40cecf..56d3596e68e 100644 --- a/library/Class/WebService/BibNumerique/Orphea/MetaDatasParser.php +++ b/library/Class/WebService/BibNumerique/Orphea/MetaDatasParser.php @@ -52,7 +52,7 @@ class Class_WebService_BibNumerique_Orphea_MetaDatasParser { public function endByline($data) { - $this->_ressource->setAuthors($data); + $this->_ressource->addAuthor($data); } diff --git a/library/Class/WebService/BibNumerique/Orphea/Ressource.php b/library/Class/WebService/BibNumerique/Orphea/Ressource.php index 9f289d2ce6f..3a5c49ce7e0 100644 --- a/library/Class/WebService/BibNumerique/Orphea/Ressource.php +++ b/library/Class/WebService/BibNumerique/Orphea/Ressource.php @@ -23,7 +23,6 @@ class Class_WebService_BibNumerique_Orphea_Ressource extends Class_WebService_BibNumerique_RessourceNumerique { protected $_id, $_rights, - $_authors, $_province_state, $_editors, $_genres, @@ -35,7 +34,6 @@ class Class_WebService_BibNumerique_Orphea_Ressource extends Class_WebService_Bi $album->setGenre(implode(';', $this->_genres)) ->addEditor($this->_editors) ->setProvenance($this->_province_state) - ->addAuthor($this->_authors) ->setDroits($this->_rights) ->setRessources($this->_ressources) ->beOrphea(); @@ -54,12 +52,6 @@ class Class_WebService_BibNumerique_Orphea_Ressource extends Class_WebService_Bi } - public function setAuthors($authors) { - $this->_authors = $authors; - return $this; - } - - public function setProvinceState($data) { $this->_province_state = $data; return $this; diff --git a/library/Class/WebService/BibNumerique/RessourceNumerique.php b/library/Class/WebService/BibNumerique/RessourceNumerique.php index f0ba15537aa..ec2f1b8bf64 100644 --- a/library/Class/WebService/BibNumerique/RessourceNumerique.php +++ b/library/Class/WebService/BibNumerique/RessourceNumerique.php @@ -254,6 +254,8 @@ class Class_WebService_BibNumerique_RessourceNumerique { ->setRessources($this->getRessources()) ->setStatus(Class_Album::STATUS_VALIDATED); + array_map([$album, 'addAuthor'], $this->getAuthors()); + $this->importMatieres($album); $this->fillAlbum($album); diff --git a/tests/library/Class/WebService/Jamendo/Album.php b/tests/library/Class/WebService/Jamendo/Album.php new file mode 100644 index 00000000000..80716fd2191 --- /dev/null +++ b/tests/library/Class/WebService/Jamendo/Album.php @@ -0,0 +1,26 @@ +<?php +/** + * Copyright (c) 2012-2014, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Class_WebService_BibNumerique_Jamendo_Album extends Class_WebService_BibNumerique_RessourceNumerique { +} + +?> \ No newline at end of file diff --git a/tests/library/Class/WebService/Jamendo/JamendoTest.php b/tests/library/Class/WebService/Jamendo/JamendoTest.php new file mode 100644 index 00000000000..30bcb297477 --- /dev/null +++ b/tests/library/Class/WebService/Jamendo/JamendoTest.php @@ -0,0 +1,130 @@ +<?php +/** + * Copyright (c) 2012-2014, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +class JamendoWithTwoResultPagesTest extends ModelTestCase { + protected $_storm_default_to_volatile = true; + + public function setUp() { + parent::setUp(); + Class_AdminVar::newInstanceWithId('JAMENDO_CLIENT_ID', + ['valeur' => 'f2345']); + + $base_url = 'https://api.jamendo.com/v3.0/albums/tracks/?format=json&order=id_desc&limit=10&client_id=f2345'; + $mock_http = Storm_Test_ObjectWrapper::mock(); + foreach([0,1,2] as $page) { + $mock_http + ->whenCalled('open_url') + ->with($base_url.'&offset='.$page*10) + ->answers(file_get_contents(__DIR__.'/tracks_page_'.$page.'.json')); + } + $mock_http + ->whenCalled('open_url') + ->answers(''); + + Class_WebService_BibNumerique_Jamendo::setDefaultHttpClient($mock_http); + + $this->_jamendo = new Class_WebService_BibNumerique_Jamendo(); + $this->_jamendo->harvest(); + } + + + /** @test */ + public function jamendoServiceShouldBeEnabled() { + $this->assertTrue($this->_jamendo->isEnabled()); + } + + + /** @test */ + public function getNameShouldAnswersJamendo() { + $this->assertEquals('Jamendo', $this->_jamendo->getName()); + } + + + /** @test */ + public function numberOfAlbumsShouldBeTwenty() { + $this->assertCount(20, Class_Album::findAll()); + } + + + /** @test */ + public function firstAlbumIdShouldBe146232() { + $this->assertEquals(146232, Class_Album::find(1)->getIdOrigine()); + } + + + /** @test */ + public function firstAlbumNameShouldBeEcos() { + $this->assertEquals('Ecos', Class_Album::find(1)->getTitre()); + } + + + /** @test */ + public function firstAlbumAuthorShouldBeDamanegra() { + $album = Class_Album::find(1); + $this->assertContains('damanegra', $album->getAuthorsNames()); + } + + + /** @test */ + public function firstAlbumPosterShouldBeCovers1200DotJPG() { + $this->assertEquals('https://imgjam1.jamendo.com/albums/s146/146232/covers/1.200.jpg', + Class_Album::find(1)->getPoster()); + + } + + + /** @test */ + public function firstAlbumTypeDocShouldBeJamendo() { + $track = Class_Album::find(1)->getRessources()[0]; + $this->assertEquals(Class_TypeDoc::JAMENDO, + Class_Album::find(1)->getTypeDoc()->getId()); + } + + + /** @test */ + public function firstAlbumNumberOfResourcesShouldBeThree() { + $album = Class_Album::find(1); + $this->assertCount(3, $album->getRessources()); + return $album->getRessources()[0]; + } + + + /** + * @depends firstAlbumNumberOfResourcesShouldBeThree + * @test + */ + public function firstAlbumTrackTitleShouldBeEcosDeMi($track) { + $this->assertEquals('Ecos_de_mi', $track->getTitre()); + } + + + /** + * @depends firstAlbumNumberOfResourcesShouldBeThree + * @test + */ + public function firstAlbumUrlShouldBeTrackId1219106($track) { + $this->assertEquals('https://storage-new.newjamendo.com/?trackid=1219106&format=mp31&from=app-f919df7d', + $track->getUrl()); + } +} + + +?> \ No newline at end of file diff --git a/tests/library/Class/WebService/Jamendo/tracks_page_0.json b/tests/library/Class/WebService/Jamendo/tracks_page_0.json new file mode 100644 index 00000000000..ef4416aea81 --- /dev/null +++ b/tests/library/Class/WebService/Jamendo/tracks_page_0.json @@ -0,0 +1,643 @@ +{ + "headers":{ + "status":"success", + "code":0, + "error_message":"", + "warnings":"", + "results_count":10 + }, + "results":[ + { + "id":"146232", + "name":"Ecos", + "releasedate":"2015-04-09", + "artist_id":"467822", + "artist_name":"damanegra", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146232\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146232\/mp32\/", + "tracks":[ + { + "id":"1219106", + "position":"1", + "name":"Ecos_de_mi", + "duration":"198", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219106&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219106\/mp32\/" + }, + { + "id":"1219118", + "position":"2", + "name":"Alma", + "duration":"151", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219118&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219118\/mp32\/" + }, + { + "id":"1219120", + "position":"3", + "name":"Al-otro-lado", + "duration":"168", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219120&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219120\/mp32\/" + } + ] + }, + { + "id":"146228", + "name":"Childrens - 001", + "releasedate":"2015-04-09", + "artist_id":"466600", + "artist_name":"MuswayStudio", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146228\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146228\/mp32\/", + "tracks":[ + { + "id":"1219099", + "position":"1", + "name":"Childrens - 001 - 1", + "duration":"135", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219099&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219099\/mp32\/" + }, + { + "id":"1219100", + "position":"2", + "name":"Childrens - 001 - 2", + "duration":"79", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219100&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219100\/mp32\/" + }, + { + "id":"1219101", + "position":"3", + "name":"Childrens - 001 - 3", + "duration":"38", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219101&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219101\/mp32\/" + } + ] + }, + { + "id":"146222", + "name":"Turin, No?", + "releasedate":"2015-04-09", + "artist_id":"436021", + "artist_name":"Barcroft45", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146222\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146222\/mp32\/", + "tracks":[ + { + "id":"1219079", + "position":"1", + "name":"Turin", + "duration":"98", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219079&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219079\/mp32\/" + } + ] + }, + { + "id":"146220", + "name":"Ineffective evening", + "releasedate":"2015-04-09", + "artist_id":"370953", + "artist_name":"Pidelta sound", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146220\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146220\/mp32\/", + "tracks":[ + { + "id":"1218996", + "position":"1", + "name":"Thinking of you", + "duration":"458", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218996&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218996\/mp32\/" + }, + { + "id":"1218997", + "position":"2", + "name":"What a bad day (on the beach)", + "duration":"261", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218997&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218997\/mp32\/" + }, + { + "id":"1218998", + "position":"3", + "name":"Night flight (version one)", + "duration":"134", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218998&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218998\/mp32\/" + }, + { + "id":"1219037", + "position":"4", + "name":"Digital improvisations", + "duration":"349", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219037&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219037\/mp32\/" + }, + { + "id":"1219038", + "position":"5", + "name":"Ineffective evening", + "duration":"199", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219038&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219038\/mp32\/" + }, + { + "id":"1219039", + "position":"6", + "name":"Romantic (version one)", + "duration":"53", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219039&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219039\/mp32\/" + }, + { + "id":"1219042", + "position":"7", + "name":"Late at night", + "duration":"202", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219042&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219042\/mp32\/" + }, + { + "id":"1219043", + "position":"8", + "name":"Signs of life", + "duration":"298", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219043&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219043\/mp32\/" + }, + { + "id":"1219044", + "position":"9", + "name":"Difficult love (version one)", + "duration":"287", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219044&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219044\/mp32\/" + }, + { + "id":"1219058", + "position":"10", + "name":"What about you", + "duration":"149", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219058&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219058\/mp32\/" + }, + { + "id":"1219059", + "position":"11", + "name":"Romantic (version two)", + "duration":"72", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219059&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219059\/mp32\/" + }, + { + "id":"1219060", + "position":"12", + "name":"Donna di citt\u00e0 (guitar and voice)", + "duration":"326", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219060&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219060\/mp32\/" + }, + { + "id":"1219061", + "position":"13", + "name":"Per te (guitar and voice)", + "duration":"302", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219061&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219061\/mp32\/" + } + ] + }, + { + "id":"146219", + "name":"NADA MUDOU (LIVE IN THE STUDIO)", + "releasedate":"2015-04-09", + "artist_id":"368175", + "artist_name":"marcello correa e castro", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146219\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146219\/mp32\/", + "tracks":[ + { + "id":"1219064", + "position":"1", + "name":"NADA (Nothing)", + "duration":"206", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219064&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219064\/mp32\/" + }, + { + "id":"1219047", + "position":"2", + "name":"MEU CANTO, MEU CH\u00c3O (Live in The Studio)", + "duration":"305", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219047&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219047\/mp32\/" + }, + { + "id":"1219062", + "position":"3", + "name":"NADA MUDOU (LIVE IN THE STUDIO)", + "duration":"348", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219062&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219062\/mp32\/" + }, + { + "id":"1219063", + "position":"4", + "name":"BAILARINAS NEGRAS (LIVE IN THE STUDIO)", + "duration":"175", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219063&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219063\/mp32\/" + } + ] + }, + { + "id":"146217", + "name":"Beats of the Streets", + "releasedate":"2015-04-09", + "artist_id":"349710", + "artist_name":"Ray Poima", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146217\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146217\/mp32\/", + "tracks":[ + { + "id":"1219052", + "position":"1", + "name":"Ray Poima - Beats of the streets (Edit)", + "duration":"126", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219052&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219052\/mp32\/" + }, + { + "id":"1219051", + "position":"2", + "name":"Ray Poima - Beats of the streets (Original Mix)", + "duration":"226", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219051&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219051\/mp32\/" + } + ] + }, + { + "id":"146216", + "name":"NOPE", + "releasedate":"2015-04-09", + "artist_id":"337965", + "artist_name":"Branton", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146216\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146216\/mp32\/", + "tracks":[ + { + "id":"1218701", + "position":"1", + "name":"Desprektis", + "duration":"422", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218701&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218701\/mp32\/" + }, + { + "id":"1218700", + "position":"2", + "name":"Give It Like This", + "duration":"254", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218700&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218700\/mp32\/" + }, + { + "id":"1218699", + "position":"3", + "name":"Monolith", + "duration":"291", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218699&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218699\/mp32\/" + }, + { + "id":"1217919", + "position":"4", + "name":"Dogma Essence QQ", + "duration":"347", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1217919&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1217919\/mp32\/" + }, + { + "id":"1217917", + "position":"5", + "name":"Mr.McDave QQ", + "duration":"282", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1217917&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1217917\/mp32\/" + } + ] + }, + { + "id":"146214", + "name":"STORMWIND - Il Combo di Viale Firenze 1994", + "releasedate":"2015-04-09", + "artist_id":"467768", + "artist_name":"Luca Marzetti", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146214\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146214\/mp32\/", + "tracks":[ + { + "id":"1219036", + "position":"1", + "name":"Dimmi cos'\u00e8", + "duration":"347", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219036&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219036\/mp32\/" + }, + { + "id":"1219040", + "position":"2", + "name":"Ritornerai", + "duration":"264", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219040&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219040\/mp32\/" + }, + { + "id":"1219085", + "position":"3", + "name":"Il mio cuore ancora", + "duration":"329", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219085&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219085\/mp32\/" + }, + { + "id":"1219088", + "position":"4", + "name":"Dove trovar le parole", + "duration":"308", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219088&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219088\/mp32\/" + }, + { + "id":"1219089", + "position":"5", + "name":"Wake love", + "duration":"275", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219089&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219089\/mp32\/" + }, + { + "id":"1219097", + "position":"6", + "name":"Come cielo e mare", + "duration":"284", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219097&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219097\/mp32\/" + } + ] + }, + { + "id":"146212", + "name":"Tarvo M. - En Directo", + "releasedate":"2015-04-09", + "artist_id":"459175", + "artist_name":"gldjproductions", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146212\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146212\/mp32\/", + "tracks":[ + { + "id":"1219000", + "position":"1", + "name":"Talviaika (Kesaika)", + "duration":"142", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219000&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219000\/mp32\/" + }, + { + "id":"1219001", + "position":"2", + "name":"Huamenta Ylta (Moi, Terve)", + "duration":"152", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219001&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219001\/mp32\/" + }, + { + "id":"1219005", + "position":"3", + "name":"Silence", + "duration":"173", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219005&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219005\/mp32\/" + }, + { + "id":"1219002", + "position":"4", + "name":"Yhdistetty (Zauberton)", + "duration":"197", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219002&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219002\/mp32\/" + }, + { + "id":"1219004", + "position":"5", + "name":"Confidence", + "duration":"163", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219004&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219004\/mp32\/" + }, + { + "id":"1219003", + "position":"6", + "name":"Horizon (Nadiiri)", + "duration":"241", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219003&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219003\/mp32\/" + }, + { + "id":"1219007", + "position":"7", + "name":"Emanuel", + "duration":"194", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219007&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219007\/mp32\/" + }, + { + "id":"1219006", + "position":"8", + "name":"Uusi Vuosi (Marraskuu\/Tuurilat)", + "duration":"223", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219006&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219006\/mp32\/" + }, + { + "id":"1219010", + "position":"9", + "name":"Riippumattomuus (Independence)", + "duration":"164", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219010&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219010\/mp32\/" + }, + { + "id":"1219009", + "position":"10", + "name":"No quiero ver lagrimas", + "duration":"221", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219009&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219009\/mp32\/" + }, + { + "id":"1219008", + "position":"11", + "name":"Olen Hyppassin (In a Jump)", + "duration":"140", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1219008&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1219008\/mp32\/" + } + ] + }, + { + "id":"146206", + "name":"OLD", + "releasedate":"2015-04-08", + "artist_id":"337662", + "artist_name":"meveric", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146206\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146206\/mp32\/", + "tracks":[ + { + "id":"1218970", + "position":"1", + "name":"Mobile (first version)", + "duration":"159", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218970&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218970\/mp32\/" + }, + { + "id":"1218898", + "position":"2", + "name":"the trumpet", + "duration":"115", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218898&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218898\/mp32\/" + }, + { + "id":"1218969", + "position":"3", + "name":"R n B", + "duration":"197", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218969&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218969\/mp32\/" + }, + { + "id":"1218968", + "position":"4", + "name":"good old", + "duration":"4", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218968&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218968\/mp32\/" + }, + { + "id":"1218955", + "position":"5", + "name":"fuck", + "duration":"256", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218955&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218955\/mp32\/" + }, + { + "id":"1218938", + "position":"6", + "name":"bass (old)", + "duration":"263", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218938&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218938\/mp32\/" + }, + { + "id":"1218901", + "position":"7", + "name":"shit mus\u00e4k", + "duration":"223", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218901&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218901\/mp32\/" + }, + { + "id":"1218928", + "position":"8", + "name":"it is bas", + "duration":"189", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218928&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218928\/mp32\/" + }, + { + "id":"1218934", + "position":"9", + "name":"the ghostdog (detuned)", + "duration":"129", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218934&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218934\/mp32\/" + }, + { + "id":"1218897", + "position":"10", + "name":"government (very old)", + "duration":"258", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218897&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218897\/mp32\/" + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/library/Class/WebService/Jamendo/tracks_page_1.json b/tests/library/Class/WebService/Jamendo/tracks_page_1.json new file mode 100644 index 00000000000..a7c4f3c74c9 --- /dev/null +++ b/tests/library/Class/WebService/Jamendo/tracks_page_1.json @@ -0,0 +1,1075 @@ +{ + "headers":{ + "status":"success", + "code":0, + "error_message":"", + "warnings":"", + "results_count":10 + }, + "results":[ + { + "id":"146203", + "name":"Tracks", + "releasedate":"2015-04-08", + "artist_id":"467750", + "artist_name":"Alvaro Galan", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146203\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146203\/mp32\/", + "tracks":[ + { + "id":"1218917", + "position":"1", + "name":"Intro - Simus Veritatis", + "duration":"111", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218917&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218917\/mp32\/" + }, + { + "id":"1218921", + "position":"2", + "name":"Sunset Fire", + "duration":"228", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218921&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218921\/mp32\/" + }, + { + "id":"1218920", + "position":"3", + "name":"Strings", + "duration":"193", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218920&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218920\/mp32\/" + }, + { + "id":"1218918", + "position":"4", + "name":"Milky Way", + "duration":"233", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218918&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218918\/mp32\/" + }, + { + "id":"1218919", + "position":"5", + "name":"Fenix", + "duration":"242", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218919&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218919\/mp32\/" + }, + { + "id":"1218916", + "position":"6", + "name":"Night Dance", + "duration":"119", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218916&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218916\/mp32\/" + }, + { + "id":"1218922", + "position":"7", + "name":"Golden Sickle", + "duration":"229", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218922&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218922\/mp32\/" + }, + { + "id":"1218923", + "position":"8", + "name":"Yours", + "duration":"203", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218923&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218923\/mp32\/" + }, + { + "id":"1218924", + "position":"9", + "name":"Dogma", + "duration":"280", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218924&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218924\/mp32\/" + } + ] + }, + { + "id":"146202", + "name":"LONDON HYMNS", + "releasedate":"2015-04-08", + "artist_id":"461369", + "artist_name":"Roy Smiles", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146202\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146202\/mp32\/", + "tracks":[ + { + "id":"1218893", + "position":"1", + "name":"Lorna Doone", + "duration":"214", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218893&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218893\/mp32\/" + }, + { + "id":"1218880", + "position":"2", + "name":"The Subways And The Sidewalks", + "duration":"208", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218880&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218880\/mp32\/" + }, + { + "id":"1218875", + "position":"3", + "name":"Christ This City", + "duration":"187", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218875&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218875\/mp32\/" + }, + { + "id":"1218881", + "position":"4", + "name":"War With The East", + "duration":"203", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218881&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218881\/mp32\/" + }, + { + "id":"1218877", + "position":"5", + "name":"I Will Give You The Sun", + "duration":"177", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218877&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218877\/mp32\/" + }, + { + "id":"1218864", + "position":"6", + "name":"Ship That Died Of Shame", + "duration":"185", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218864&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218864\/mp32\/" + }, + { + "id":"1218879", + "position":"7", + "name":"A Man Who Walks Alone", + "duration":"150", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218879&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218879\/mp32\/" + }, + { + "id":"1218872", + "position":"8", + "name":"Clancy", + "duration":"242", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218872&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218872\/mp32\/" + }, + { + "id":"1218915", + "position":"9", + "name":"Seize The Day", + "duration":"227", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218915&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218915\/mp32\/" + }, + { + "id":"1218883", + "position":"10", + "name":"Girls Of Summer", + "duration":"152", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218883&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218883\/mp32\/" + }, + { + "id":"1218873", + "position":"11", + "name":"Magpie", + "duration":"201", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218873&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218873\/mp32\/" + }, + { + "id":"1218874", + "position":"12", + "name":"A Land Called Home", + "duration":"186", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218874&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218874\/mp32\/" + }, + { + "id":"1218876", + "position":"13", + "name":"Drunks And Dreamers", + "duration":"234", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218876&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218876\/mp32\/" + }, + { + "id":"1218869", + "position":"14", + "name":"A Better Land", + "duration":"260", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218869&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218869\/mp32\/" + }, + { + "id":"1218870", + "position":"15", + "name":"El Dorado", + "duration":"195", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218870&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218870\/mp32\/" + }, + { + "id":"1218878", + "position":"16", + "name":"Lighthouse Keeper", + "duration":"170", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218878&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218878\/mp32\/" + }, + { + "id":"1218894", + "position":"17", + "name":"Vera In Autumn", + "duration":"165", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218894&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218894\/mp32\/" + }, + { + "id":"1218882", + "position":"18", + "name":"Bremen", + "duration":"250", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218882&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218882\/mp32\/" + }, + { + "id":"1218884", + "position":"19", + "name":"Time Is Moving On", + "duration":"227", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218884&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218884\/mp32\/" + }, + { + "id":"1218887", + "position":"20", + "name":"Dreaming Of Toronto", + "duration":"286", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218887&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218887\/mp32\/" + } + ] + }, + { + "id":"146201", + "name":"GLDJ Productions - The Rocking Station", + "releasedate":"2015-04-09", + "artist_id":"459175", + "artist_name":"gldjproductions", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146201\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146201\/mp32\/", + "tracks":[ + { + "id":"1218860", + "position":"1", + "name":"Euclasion - Silence", + "duration":"165", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218860&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218860\/mp32\/" + }, + { + "id":"1218861", + "position":"2", + "name":"Euclasion - Forrest Whispering", + "duration":"131", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218861&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218861\/mp32\/" + }, + { + "id":"1218863", + "position":"3", + "name":"Euclasion - Confidence", + "duration":"148", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218863&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218863\/mp32\/" + }, + { + "id":"1218865", + "position":"4", + "name":"Euclasion - Emanuel", + "duration":"179", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218865&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218865\/mp32\/" + }, + { + "id":"1218867", + "position":"5", + "name":"Euclasion - Somewhere Blind", + "duration":"204", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218867&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218867\/mp32\/" + }, + { + "id":"1218866", + "position":"6", + "name":"Euclasion - Echo", + "duration":"118", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218866&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218866\/mp32\/" + }, + { + "id":"1218888", + "position":"7", + "name":"Euclasion - I dont wanna see any tears", + "duration":"193", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218888&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218888\/mp32\/" + }, + { + "id":"1218889", + "position":"8", + "name":"Euclasion - Luckily Song", + "duration":"78", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218889&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218889\/mp32\/" + }, + { + "id":"1218896", + "position":"9", + "name":"Euclasion - Leaking Tave", + "duration":"145", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218896&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218896\/mp32\/" + }, + { + "id":"1218903", + "position":"10", + "name":"Euclasion - Summertime (Radio)", + "duration":"136", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218903&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218903\/mp32\/" + }, + { + "id":"1218961", + "position":"11", + "name":"Euclasion - Horizon (Radio)", + "duration":"150", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218961&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218961\/mp32\/" + }, + { + "id":"1218905", + "position":"12", + "name":"Euclasion - Follow Your Heart (Radio Mix)", + "duration":"168", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218905&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218905\/mp32\/" + }, + { + "id":"1218906", + "position":"13", + "name":"Euclasion - Hello, GDay", + "duration":"170", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218906&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218906\/mp32\/" + }, + { + "id":"1218907", + "position":"14", + "name":"Freefusal - EarthWater (Radio Mix)", + "duration":"137", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218907&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218907\/mp32\/" + }, + { + "id":"1218908", + "position":"15", + "name":"Ylpea Oxenta - Riippumattomuus", + "duration":"87", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218908&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218908\/mp32\/" + }, + { + "id":"1218909", + "position":"16", + "name":"Ylpea Oxenta - In a Jump", + "duration":"114", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218909&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218909\/mp32\/" + }, + { + "id":"1218910", + "position":"17", + "name":"Ylpea Oxenta - Uusi Vuosi", + "duration":"189", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218910&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218910\/mp32\/" + }, + { + "id":"1218911", + "position":"18", + "name":"Ylpea Oxenta - Yhdistetty", + "duration":"184", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218911&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218911\/mp32\/" + }, + { + "id":"1218962", + "position":"19", + "name":"Euclasion - Summertime (Long)", + "duration":"195", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218962&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218962\/mp32\/" + }, + { + "id":"1218963", + "position":"20", + "name":"Euclasion - Horizon (Long)", + "duration":"211", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218963&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218963\/mp32\/" + }, + { + "id":"1218964", + "position":"21", + "name":"Euclasion - Follow Your Heart (Full 12 Inch Mix)", + "duration":"451", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218964&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218964\/mp32\/" + }, + { + "id":"1218965", + "position":"22", + "name":"Freefusal - Earthwater (Conception Mix)", + "duration":"332", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218965&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218965\/mp32\/" + }, + { + "id":"1218967", + "position":"23", + "name":"Euclasion - Echo (Long)", + "duration":"315", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218967&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218967\/mp32\/" + }, + { + "id":"1218966", + "position":"24", + "name":"Euclasion - Silence (Rap dat Crap Mix)", + "duration":"169", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218966&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218966\/mp32\/" + } + ] + }, + { + "id":"146197", + "name":"Valdragz", + "releasedate":"2015-04-08", + "artist_id":"467730", + "artist_name":"VALDRAGZ", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146197\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146197\/mp32\/", + "tracks":[ + { + "id":"1218828", + "position":"1", + "name":"voyage", + "duration":"363", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218828&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218828\/mp32\/" + }, + { + "id":"1218829", + "position":"2", + "name":"circus swing", + "duration":"350", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218829&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218829\/mp32\/" + }, + { + "id":"1218832", + "position":"3", + "name":"xtrem conscience", + "duration":"397", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218832&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218832\/mp32\/" + }, + { + "id":"1218830", + "position":"4", + "name":"black cat", + "duration":"286", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218830&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218830\/mp32\/" + }, + { + "id":"1218833", + "position":"5", + "name":"electro django (remix )", + "duration":"402", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218833&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218833\/mp32\/" + }, + { + "id":"1218831", + "position":"6", + "name":"ska swing", + "duration":"286", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218831&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218831\/mp32\/" + }, + { + "id":"1218834", + "position":"7", + "name":"business in ( remix )", + "duration":"408", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218834&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218834\/mp32\/" + }, + { + "id":"1218835", + "position":"8", + "name":"cat swing", + "duration":"286", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218835&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218835\/mp32\/" + }, + { + "id":"1218836", + "position":"9", + "name":"positive", + "duration":"300", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218836&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218836\/mp32\/" + }, + { + "id":"1218838", + "position":"10", + "name":"unite", + "duration":"228", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218838&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218838\/mp32\/" + }, + { + "id":"1218837", + "position":"11", + "name":"it dont mean a thing ( remix )", + "duration":"291", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218837&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218837\/mp32\/" + }, + { + "id":"1218839", + "position":"12", + "name":"bastet", + "duration":"376", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218839&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218839\/mp32\/" + }, + { + "id":"1218840", + "position":"13", + "name":"moove your big ass", + "duration":"317", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218840&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218840\/mp32\/" + }, + { + "id":"1218841", + "position":"14", + "name":"caught me", + "duration":"332", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218841&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218841\/mp32\/" + }, + { + "id":"1218842", + "position":"15", + "name":"sex club bitch", + "duration":"326", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218842&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218842\/mp32\/" + } + ] + }, + { + "id":"146195", + "name":"Elegia per Violino e Orchestra", + "releasedate":"2015-04-08", + "artist_id":"347673", + "artist_name":"Aufklarung", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146195\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146195\/mp32\/", + "tracks":[ + { + "id":"1218815", + "position":"1", + "name":"Elegia per Violino e Orchestra", + "duration":"264", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218815&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218815\/mp32\/" + } + ] + }, + { + "id":"146194", + "name":"Hard Trance Mix", + "releasedate":"2015-04-08", + "artist_id":"433172", + "artist_name":"DJ STIVIT", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146194\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146194\/mp32\/", + "tracks":[ + { + "id":"1218816", + "position":"1", + "name":"DJ STIVIT- Hard Trance Mix Track 1", + "duration":"339", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218816&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218816\/mp32\/" + }, + { + "id":"1218817", + "position":"2", + "name":"DJ STIVIT- Hard Trance Mix Track 2", + "duration":"228", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218817&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218817\/mp32\/" + }, + { + "id":"1218819", + "position":"3", + "name":"DJ STIVIT- Hard Trance Mix Track 3", + "duration":"265", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218819&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218819\/mp32\/" + }, + { + "id":"1218818", + "position":"4", + "name":"DJ STIVIT- Hard Trance Mix Track 4", + "duration":"165", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218818&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218818\/mp32\/" + }, + { + "id":"1218821", + "position":"5", + "name":"DJ STIVIT- Hard Trance Mix Track 5", + "duration":"276", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218821&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218821\/mp32\/" + }, + { + "id":"1218820", + "position":"6", + "name":"DJ STIVIT- Hard Trance Mix Track 6", + "duration":"254", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218820&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218820\/mp32\/" + } + ] + }, + { + "id":"146189", + "name":"The Last?", + "releasedate":"2015-04-08", + "artist_id":"337662", + "artist_name":"meveric", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146189\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146189\/mp32\/", + "tracks":[ + { + "id":"1218643", + "position":"1", + "name":"andy\u00b4s ghost", + "duration":"68", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218643&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218643\/mp32\/" + }, + { + "id":"1218644", + "position":"2", + "name":"spacebass (+origin)", + "duration":"363", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218644&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218644\/mp32\/" + }, + { + "id":"1218648", + "position":"3", + "name":"my new kid", + "duration":"163", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218648&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218648\/mp32\/" + }, + { + "id":"1218912", + "position":"4", + "name":"every time I heard this song on the radio", + "duration":"209", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218912&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218912\/mp32\/" + }, + { + "id":"1218656", + "position":"5", + "name":"technot (instrumental)", + "duration":"292", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218656&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218656\/mp32\/" + }, + { + "id":"1218689", + "position":"6", + "name":"7NA (Bad Version)", + "duration":"371", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218689&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218689\/mp32\/" + }, + { + "id":"1218647", + "position":"7", + "name":"project alpha", + "duration":"264", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218647&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218647\/mp32\/" + }, + { + "id":"1218931", + "position":"8", + "name":"the journey", + "duration":"172", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218931&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218931\/mp32\/" + }, + { + "id":"1218895", + "position":"9", + "name":"english harpflow", + "duration":"193", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218895&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218895\/mp32\/" + }, + { + "id":"1218658", + "position":"10", + "name":"mlp", + "duration":"213", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218658&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218658\/mp32\/" + }, + { + "id":"1218677", + "position":"11", + "name":"Bell", + "duration":"202", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218677&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218677\/mp32\/" + }, + { + "id":"1218926", + "position":"12", + "name":"raeggaton", + "duration":"120", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218926&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218926\/mp32\/" + }, + { + "id":"1218929", + "position":"13", + "name":"glass", + "duration":"117", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218929&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218929\/mp32\/" + }, + { + "id":"1218890", + "position":"14", + "name":"hanzinhousefever (crazy\/chill)", + "duration":"147", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218890&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218890\/mp32\/" + }, + { + "id":"1218925", + "position":"15", + "name":"cake", + "duration":"23", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218925&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218925\/mp32\/" + } + ] + }, + { + "id":"146188", + "name":"ASEA EP", + "releasedate":"2015-04-08", + "artist_id":"466654", + "artist_name":"ASEA", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146188\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146188\/mp32\/", + "tracks":[ + { + "id":"1218780", + "position":"1", + "name":"Born to Be Free", + "duration":"222", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218780&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218780\/mp32\/" + }, + { + "id":"1218783", + "position":"2", + "name":"Brisk", + "duration":"201", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218783&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218783\/mp32\/" + }, + { + "id":"1218784", + "position":"3", + "name":"Perfect Senses", + "duration":"202", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218784&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218784\/mp32\/" + }, + { + "id":"1218785", + "position":"4", + "name":"Shadow of Delusion", + "duration":"187", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218785&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218785\/mp32\/" + } + ] + }, + { + "id":"146186", + "name":"Belligerent Incredulity", + "releasedate":"2015-04-08", + "artist_id":"437011", + "artist_name":"CloudBurstSound", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146186\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146186\/mp32\/", + "tracks":[ + { + "id":"1218757", + "position":"1", + "name":"Love", + "duration":"283", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218757&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218757\/mp32\/" + }, + { + "id":"1218756", + "position":"2", + "name":"No way no how", + "duration":"196", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218756&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218756\/mp32\/" + }, + { + "id":"1218758", + "position":"3", + "name":"Lies", + "duration":"278", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218758&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218758\/mp32\/" + }, + { + "id":"1218763", + "position":"4", + "name":"War", + "duration":"245", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218763&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218763\/mp32\/" + }, + { + "id":"1218761", + "position":"5", + "name":"Tears", + "duration":"247", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218761&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218761\/mp32\/" + }, + { + "id":"1218760", + "position":"6", + "name":"Patience", + "duration":"248", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218760&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218760\/mp32\/" + }, + { + "id":"1218764", + "position":"7", + "name":"Lyme Park", + "duration":"264", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218764&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218764\/mp32\/" + }, + { + "id":"1218762", + "position":"8", + "name":"The night", + "duration":"198", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218762&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218762\/mp32\/" + }, + { + "id":"1218765", + "position":"9", + "name":"The Bet", + "duration":"211", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218765&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218765\/mp32\/" + }, + { + "id":"1218759", + "position":"10", + "name":"Pain", + "duration":"116", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218759&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218759\/mp32\/" + }, + { + "id":"1218755", + "position":"11", + "name":"Dream", + "duration":"287", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218755&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218755\/mp32\/" + } + ] + }, + { + "id":"146185", + "name":"Rusalina (Original and Amind Two Guys Mixes)", + "releasedate":"2015-04-08", + "artist_id":"455020", + "artist_name":"Flowers On Mars ", + "image":"https:\/\/imgjam1.jamendo.com\/albums\/s146\/146185\/covers\/1.200.jpg", + "zip":"https:\/\/storage-new.newjamendo.com\/download\/a146185\/mp32\/", + "tracks":[ + { + "id":"1218734", + "position":"1", + "name":"Flowers On Mars - Rusalina (Original Mix)", + "duration":"288", + "license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc\/3.0\/", + "audio":"https:\/\/storage-new.newjamendo.com\/?trackid=1218734&format=mp31&from=app-f919df7d", + "audiodownload":"https:\/\/storage-new.newjamendo.com\/download\/track\/1218734\/mp32\/" + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/library/Class/WebService/Jamendo/tracks_page_2.json b/tests/library/Class/WebService/Jamendo/tracks_page_2.json new file mode 100644 index 00000000000..932c371ea72 --- /dev/null +++ b/tests/library/Class/WebService/Jamendo/tracks_page_2.json @@ -0,0 +1,12 @@ +{ + "headers":{ + "status":"success", + "code":0, + "error_message":"", + "warnings":"", + "results_count":0 + }, + "results":[ + + ] +} \ No newline at end of file -- GitLab