Skip to content
Snippets Groups Projects
Commit 521ec0b5 authored by Laurent's avatar Laurent
Browse files

dev #65756 Omeka: parse authors

parent 814263c0
Branches
Tags
3 merge requests!2409Master,!2406Dev#65756 s91 afficher le media ou le player omeka dans bokeh base de demo et projets a venir,!2402Dev#65756 s91 afficher le media ou le player omeka dans bokeh base de demo et projets a venir
Pipeline #2833 failed with stage
in 21 minutes and 26 seconds
......@@ -21,6 +21,31 @@
class Omeka_Service_Resource extends Class_WebService_BibNumerique_RessourceNumerique {
public function addAuthor($author) {
preg_match_all('/(?P<lastname>[^\.,\(]+)'
.'(, (?P<firstname>[^\.\(]+))?'
.'(?P<dates>\(.+\))?'
.'(\. (?P<responsibility>.+))?/',
$author,
$matches,
PREG_SET_ORDER);
$lastname = $matches[0]['lastname'];
$firstname = trim($matches[0]['firstname']);
$responsibility = $matches[0]['responsibility'];
return parent::addAuthor(new Class_Notice_Author(implode(' ', [$firstname, $lastname]),
$responsibility));
}
public function fillAlbum($album) {
/* $album->beCyberlibris()
->setDescription($this->getDescription())
->setEditeur($this->getEditeur());*/
return $album;
}
}
?>
\ No newline at end of file
......@@ -24,11 +24,11 @@ class OmekaFixtures {
public function prepare() {
Class_AdminVar::set('Omeka_OAI_URL',
'http://omeka-demo.biblibre.com/oai-pmh-repository');
'http://omeka-demo.biblibre.com/oai-pmh-repository/request');
$http_client = $this->mock()
->whenCalled('open_url')
->with('http://omeka-demo.biblibre.com/oai-pmh-repository?verb=ListRecords&metadataPrefix=oai_dc')
->with('http://omeka-demo.biblibre.com/oai-pmh-repository/request?verb=ListRecords&metadataPrefix=oai_dc')
->answers(file_get_contents(__DIR__ . '/omeka_oai_page_1.xml'));
Omeka_Service::setDefaultHttpClient($http_client);
......@@ -52,14 +52,28 @@ class OmekaHarvestedTest extends AbstractControllerTestCase {
parent::setUp();
(new OmekaFixtures())->prepare()->harvest();
$this->_alpes_record = Class_Album::find(8);
Class_Album::find(8)->index();
$this->_alpes_record = Class_Notice::find(1);
}
/** @test */
public function alpesRecordTitleShouldBePlanDesAlpes() {
$this->assertEquals('Plan relief des Alpes françaises / modelé par Karl Schroeder, fils',
$this->_alpes_record->getTitre());
$this->_alpes_record->getTitrePrincipal());
}
/** @test */
public function alpesRecordAuthorShouldBeShroederKarl() {
$this->assertEquals('Karl Schroeder', $this->_alpes_record->getAuteurPrincipal());
}
/** @test */
public function alpesRecordAuthorResponsibilityShouldBeTextAuthor() {
$this->assertEquals('Auteur du texte',
Class_Album::find(8)->getAuthors()[0]->getResponsibility());
}
}
?>
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment