From ebd7648344e276beef4ca08c06947fc4d742a47f Mon Sep 17 00:00:00 2001
From: pbarroca <pbarroca@afi-sa.fr>
Date: Mon, 30 Nov 2015 15:27:27 +0100
Subject: [PATCH] rel #33603 : handle new jamendo albums url format

---
 VERSIONS_HOTLINE/33603                                 |  1 +
 library/Class/WebService/BibNumerique/Jamendo.php      |  2 +-
 tests/library/Class/WebService/Jamendo/JamendoTest.php | 10 +++++-----
 3 files changed, 7 insertions(+), 6 deletions(-)
 create mode 100644 VERSIONS_HOTLINE/33603

diff --git a/VERSIONS_HOTLINE/33603 b/VERSIONS_HOTLINE/33603
new file mode 100644
index 00000000000..6addad20a8b
--- /dev/null
+++ b/VERSIONS_HOTLINE/33603
@@ -0,0 +1 @@
+ - ticket #33603 : Jamendo : Prise en charge du nouveau format de l'url des albums
\ No newline at end of file
diff --git a/library/Class/WebService/BibNumerique/Jamendo.php b/library/Class/WebService/BibNumerique/Jamendo.php
index f19d66d34c0..7f360ff7f87 100644
--- a/library/Class/WebService/BibNumerique/Jamendo.php
+++ b/library/Class/WebService/BibNumerique/Jamendo.php
@@ -103,7 +103,7 @@ class Class_WebService_BibNumerique_Jamendo extends Class_WebService_BibNumeriqu
 
 
   public function importFromUrl($url) {
-    if (!preg_match('/www.jamendo.com.*\/a([0-9]+)\//', $url, $matches))
+    if (!preg_match('/www.jamendo.com.*\/album\/([0-9]+)\//', $url, $matches))
       return null;
 
     $album_id = $matches[1];
diff --git a/tests/library/Class/WebService/Jamendo/JamendoTest.php b/tests/library/Class/WebService/Jamendo/JamendoTest.php
index 9e5c34f91cd..d7b8ae677d9 100644
--- a/tests/library/Class/WebService/Jamendo/JamendoTest.php
+++ b/tests/library/Class/WebService/Jamendo/JamendoTest.php
@@ -67,7 +67,7 @@ class JamendoImportTracksFromUrlTest extends JamendoTestCase {
   public function setUp() {
     parent::setUp();
     $this->_jamendo = new Class_WebService_BibNumerique_Jamendo();
-    $this->_jamendo->importFromUrl('https://www.jamendo.com/fr/list/a146203/tracks');
+    $this->_jamendo->importFromUrl('https://www.jamendo.com/album/146203/tracks');
   }
 
 
@@ -92,7 +92,7 @@ class JamendoImportTracksFromUrlTest extends JamendoTestCase {
 
   /** @test */
   public function importingAlbumTwiceShouldNotRecreateIt() {
-    $this->_jamendo->importFromUrl('https://www.jamendo.com/fr/list/a146203/tracks');
+    $this->_jamendo->importFromUrl('https://www.jamendo.com/album/146203/tracks');
     $this->assertCount(1, Class_Album::findAll());
   }
 
@@ -382,7 +382,7 @@ class HarvestControllerJamendoImportActionTest extends HarvestControllerJamendoT
   /** @test */
   public function importTracksAlbumShouldCreateAlbum() {
     $this->postDispatch('/admin/harvest/jamendo-browse',
-                        ['url' => 'https://www.jamendo.com/fr/list/a146203/tracks']);
+                        ['url' => 'https://www.jamendo.com/album/146203/tracks']);
     $this->assertEquals('Tracks', Class_Album::find(1)->getTitre());
   }
 
@@ -390,7 +390,7 @@ class HarvestControllerJamendoImportActionTest extends HarvestControllerJamendoT
   /** @test */
   public function importAlbumsShouldRedirectToPageAlbum() {
     $this->postDispatch('/admin/harvest/jamendo-browse',
-                        ['url' => 'https://www.jamendo.com/fr/list/a146203/tracks']);
+                        ['url' => 'https://www.jamendo.com/album/146203/tracks']);
     $this->assertRedirectTo('/admin/album/edit_album/id/1');
 
   }
@@ -399,7 +399,7 @@ class HarvestControllerJamendoImportActionTest extends HarvestControllerJamendoT
   /** @test */
   public function importAlbumsShouldNotifySuccessfullImport() {
     $this->postDispatch('/admin/harvest/jamendo-browse',
-                        ['url' => 'https://www.jamendo.com/fr/list/a146203/tracks']);
+                        ['url' => 'https://www.jamendo.com/album/146203/tracks']);
     $this->assertFlashMessengerContentContains('Album "Tracks" importé de Jamendo');
   }
 
-- 
GitLab