[SPIP Zone] [Spip-zone-commit] r110657 - in _plugins_/extraire_documents/trunk

Hello,

j’attire l’attention des auteurs du plugin sur la modif ci-dessous car elle impacte potentiellement des appels directs aux parseurs ou le code de parseurs persos qui ne seraient pas sur la zone.

Les parseurs préfixaient toujours la variable $fichier par un _DIR_RACINE ce qui est un peu bizarre et contraire à l’usage habituel qui est de manipuler partout des noms de fichier avec le chemin complet (qu’il soit relatif à la racine de SPIP ou absolu).
La seule exception à ça est la fonction copie_locale qui pour des raisons obscures et historiques renvoie un chemin relatif à ecrire/ si on est dans ecrire/ (et à la racine sinon, mais dans ce cas pas de problème).

C’est donc juste quand on se sert de cette fonction qu’il faut corriger le chemin retourné, et partout ailleurs utiliser le chemin vers le fichier qu’on suppose complet par construction, ce qui semble quand même plus générique et robuste.

Des objections ? Des raleries ?
Des bises.

--
Cédric

---------- Forwarded message ----------
From: spip-zone-commit@rezo.net
Date: 14 juin 2018 à 15:31 +0200
To: spip-zone-commit@rezo.net
Subject: [Spip-zone-commit] r110657 - in _plugins_/extraire_documents/trunk

Author: cedric@yterium.com
Date: 2018-06-14 13:31:32 +0000 (Thu, 14 Jun 2018)
New Revision: 110657

Modified:
_plugins_/extraire_documents/trunk/extraire/defaut/10_tika_server.php
_plugins_/extraire_documents/trunk/extraire/fallback/application_pdf/90_pdfparser.php
_plugins_/extraire_documents/trunk/inc/extraire_document.php
_plugins_/extraire_documents/trunk/paquet.xml
Log:
Correction de 2 points :
* les chemin des fichiers sont toujours exprimes en relatifs depuis la racine (ou en absolu), sauf pour la fonction copie_locale - c'est historique
Du coup on corrige en sortie de la fonction copie_locale, qu'on utilise uniquement si le document est distant, et partout ailleurs on utilise la variable $fichier telle quelle ce ui est plus robuste car permet aussi d'accepter des chemins absolus en entree
* pour trouver les libs on utilise find_in_path() ce qui permet de les fournir par tout moyen (lib/ a la racine de SPIP mais aussi plugin) et/ou des surcharges eventuelles

Du coup ca casse eventuellement les appels direct aux parseurs extraire/defaut/10_tika_server.php et extraire/fallback/application_pdf/90_pdfparser.php et il faut mettre a jour d'autres parseurs fournis de l'exterieur
Pour un appel depuis inc_extraire_document() rien de change en principe

Details: Connexion · GitLab

_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit

Le 14/06/2018 à 15:34, Cerdic a écrit :

Des objections ? Des raleries ?
Des bises.

Non c'est super si c'est plus robuste.

En ce qui me concerne, je ne crois pas me rappeler avoir jamais utilisé
les parseurs directement, du coup je crois comprendre que ça ne change
rien pour moi.

J'ai toujours utilisé uniquement la fonction plus abstraite
d'extraire_document, notamment pour le balancer dans sphinx :
https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/indexer-documents/trunk/indexerdoc_pipelines.php#L31

--
RastaPopoulos