Skip to content

Commit

Permalink
Suppression de l'item_id dans le nom du fichier XMl, on se contente de
Browse files Browse the repository at this point in the history
faire une recherche limitée à l'item en cours pour chercher le XML et
éviter les doublons de noms de fichiers entre items.
  • Loading branch information
symac committed Oct 22, 2019
1 parent 5616bb5 commit 64c1134
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions Module.php
Expand Up @@ -130,9 +130,9 @@ public function handleConfigForm(AbstractController $controller)
if (in_array($fileExt, array('pdf', 'PDF'))) {
$logger->info(sprintf("Extracting OCR for %s", $media->source()));
$countPdf++;
$targetFilename = sprintf("%s_%s.%s", basename($media->source(), ".pdf"), $media->item()->id(), "xml");
$targetFilename = sprintf("%s.%s", basename($media->source(), ".pdf"), "xml");

$searchXmlFile = $this->getMediaFromFilename($targetFilename);
$searchXmlFile = $this->getMediaFromFilename($media->item()->id(), $targetFilename);

$toProcess = false;
if ($params['override'] == 1) {
Expand Down Expand Up @@ -223,9 +223,9 @@ function extractOcr(\Zend\EventManager\Event $event) {
foreach ($item->getMedia() as $media ) {
$fileExt = $media->getExtension();
if (in_array($fileExt, array('pdf', 'PDF'))) {
$targetFilename = sprintf("%s_%s.%s", basename($media->getSource(), ".pdf"), $media->getItem()->getId(), "xml");
$targetFilename = sprintf("%s.%s", basename($media->getSource(), ".pdf"), "xml");

if (!$this->getMediaFromFilename($targetFilename)) {
if (!$this->getMediaFromFilename($item->getId(), $targetFilename)) {
$this->startExtractOcrJob(
$media->getItem()->getId(),
$targetFilename ,
Expand All @@ -251,11 +251,11 @@ private function startExtractOcrJob($itemId, $filename, $storageId, $extension,
]);
}

private function getMediaFromFilename($filename) {
private function getMediaFromFilename($item_id, $filename) {
$services = $this->getServiceLocator();
$api = $services->get('Omeka\ApiManager');

$searchXmlFile = $api->search('media', ['o:source' => $filename])->getContent();
$searchXmlFile = $api->search('media', ['item_id' => $item_id, 'o:source' => $filename])->getContent();
if (sizeof($searchXmlFile) == 0) {
return false;
}
Expand Down

0 comments on commit 64c1134

Please sign in to comment.