Skip to content
Snippets Groups Projects
Commit 0a4c7bee authored by Henri-Damien LAURENT's avatar Henri-Damien LAURENT
Browse files

hotline#174979 : Cyberlibris : adding Poster support

parent 46322abc
Branches
Tags
1 merge request!4802hotline#174979 : Cyberlibris : adding Poster support
Pipeline #24975 passed with stage
in 28 minutes and 31 seconds
- correctif #174979 : Cyberlibris : Prise en compte des vignettes de notices Cyberlibris lors du moissonage
\ No newline at end of file
...@@ -1426,10 +1426,15 @@ class Class_Album extends Storm_Model_Abstract { ...@@ -1426,10 +1426,15 @@ class Class_Album extends Storm_Model_Abstract {
if (!isset($unimarc_value['x']) if (!isset($unimarc_value['x'])
|| !isset($unimarc_value['a']) || !isset($unimarc_value['a'])
|| $field !== $unimarc_value['x'] || $field !== $unimarc_value['x']
|| '' == trim($unimarc_value['a'])) || (is_string($unimarc_value['a'])
&& '' == trim($unimarc_value['a'])))
continue; continue;
$values[] = $unimarc_value['a']; if (is_string($unimarc_value['a']))
$values[] = $unimarc_value['a'];
if (is_array($unimarc_value['a']))
$values = array_merge($values,$unimarc_value['a']);
} }
return $values; return $values;
......
...@@ -94,8 +94,13 @@ class Class_WebService_OAI_DublinCoreParser_ForRessourceNumerique ...@@ -94,8 +94,13 @@ class Class_WebService_OAI_DublinCoreParser_ForRessourceNumerique
foreach($this->_record['matiere'] as $matiere) foreach($this->_record['matiere'] as $matiere)
$resource->addMatiere($matiere); $resource->addMatiere($matiere);
if ($relation = $this->_record['relation']) foreach (($this->_record['relation'] ?? []) as $relation)
$resource->setExternalUri($relation[0]); $resource->getExternalUri()
? $resource->addPoster($relation)
: $resource->setExternalUri($relation);
foreach (($this->_record['posters'] ?? []) as $poster)
$resource->addPoster($poster);
return parent::endRecord($data); return parent::endRecord($data);
} }
......
...@@ -23,18 +23,22 @@ ...@@ -23,18 +23,22 @@
class Cyberlibris_Service_Parser class Cyberlibris_Service_Parser
extends Class_WebService_OAI_DublinCoreParser_ForRessourceNumerique { extends Class_WebService_OAI_DublinCoreParser_ForRessourceNumerique {
public function enddc_identifier($data) { public function enddc_identifier($data) {
if (!preg_match('|/book/([^/?]+)|i', $data, $matches)) if (preg_match('|/book/([^/?]+)|i', $data, $matches)){
return; $this->_record['id_oai'] = $matches[1];
$this->_record['relation'][] = $data;
}
if (preg_match('|^([0-9]+)$|i', $data, $matches))
$this->_record['ean'] = $matches[1];
$this->_record['id_oai'] = $matches[1]; if (preg_match('|^(https://static2.cyberlibris.com/.*.jpg)$|i', trim($data), $matches))
$this->_record['relation'][] = $data; $this->_record['posters'][] = $matches[1];
} }
public function end_identifier($data) { public function end_identifier($data) {
if (!preg_match('|oai:cyberlibris.fr:([^/?]+)|i', $data, $matches)) if (!preg_match('|oai:cyberlibris.fr:([^/?]+)|i', $data, $matches))
return; return;
$this->_record['ean'] = $matches[1]; $this->_record['ean'] = $matches[1];
} }
} }
\ No newline at end of file
...@@ -331,6 +331,7 @@ de la création d'entreprise avec, pour chacune d'elles, les pièges et écueils ...@@ -331,6 +331,7 @@ de la création d'entreprise avec, pour chacune d'elles, les pièges et écueils
['first_editor', 'Maxima'], ['first_editor', 'Maxima'],
['main_author_name', 'Sens, René'], ['main_author_name', 'Sens, René'],
['external_uri', 'https://www.bibliovox.com/book/10045152'], ['external_uri', 'https://www.bibliovox.com/book/10045152'],
['poster', 'https://static2.cyberlibris.com/books_upload/136pix/2840013444.jpg'],
]; ];
} }
......
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