[spip-dev] syndication google alerts

bonjour

j ai trouve un bug reproductible dans la syndication, syndiquer un
flux google alerts comme par exemple :

http://www.google.com/alerts/feeds/10363671695832007299/2959175446106496614

ne fonctionne plus qu a moitie

la syndication fonctionn, mais spip ne trouve pas les liens des items

il y a le bouton "bloquer ce lien" mais pas de lien, alors que les
urls des items sont bien dans le feed google

il semblerai que spip n interprete plus correctement certains types de
feed atom comme les google alerts

Hop,

bonjour

j ai trouve un bug reproductible dans la syndication, syndiquer un
flux google alerts comme par exemple :

Alerte Google : bitcoin

ne fonctionne plus qu a moitie

la syndication fonctionn, mais spip ne trouve pas les liens des items

Le problème vient du fait que le flux utilise un balise link vide pour chaque item :

<link href="http://www.google.com/alerts/feeds/10363671695832007299/2959175446106496614&quot; rel="self"></link>

Du coup, une solution possible est d'inverser les deux tests situés ici :

Devrait passer après ce test :

Testé sur une 3.0 svn avec le flux cité en exemple, ça fonctionne bien.

Si personne n'y voit de problème, je commit la modification.

Je pense plutôt qu’il faut completer le if(preg_match(……………)) en ajoutant une vérification sur le fait que ce qu’on a trouvé n’est pas vide. Donc soit remplacer .* par .+, soit ajouter (ce qui me semblerait mieux) : AND preg_match(’/^http/i’, ………)

Hop,

Hop,

Hop,

Je pense plutôt qu'il faut completer le if(preg_match(……………)) en ajoutant
une vérification sur le fait que ce qu'on a trouvé n'est pas vide. Donc
soit remplacer .* par .+, soit ajouter (ce qui me semblerait mieux) :
AND
preg_match('/^http/i', ………)

Et voilà :

Connexion · GitLab

Rafale de oups pour en arriver là :

Conclusion, on ne renvoie le contenu de la balise link uniquement si celui-ci contient *autre chose* qu'un espace, une tabulation ou un saut de ligne.

Je pense que l'idée de tester la présence d'un éventuel http (ou d'un début de protocole, je crois qu'on a une constante pour ça) serait à généraliser dans l'ensemble des regexs qui tentent de matcher l'url après avoir vérifié ce que disent les specs ATOM/RSS de ce côté.

bonjour a tous,

petit followup sur ce bug, ayant vu qu un spip 2.1.25 est sorti le 19
janvier j ai mis a jour mon feeder, mais il semble que le correctif ne
soit pas inclus dans cette version, je me trompe ?

Regarde les commits, le correctif est sur la branche dev, et pas sur la branche 2.1 :slight_smile:

Mais si tu peux faire le report et confirmer que ça marche, on reportera.

Regarde les commits, le correctif est sur la branche dev, et pas sur la branche 2.1 :slight_smile:

Mais si tu peux faire le report et confirmer que ça marche, on reportera.

J'ai testé et ça marche.
C'est en ligne 112.

JL

Par contre, spip détecte une erreur lorsque le flux est (temporairement) vide.
Je crains un peu que ça ne bloque définitivement les interrogations du flux... (?)

JLuc

Oui, c’est délibéré :slight_smile:

Ah oui chez moi c'est ligne 108. M'enfin ??

http://core.spip.org/projects/spip/repository/revisions/21167

-- Fil

2014-01-28 JLuc <jluc@no-log.org <mailto:jluc@no-log.org>>

    J'ai testé et ça marche.
    C'est en ligne 112.

Ah oui chez moi c'est ligne 108. M'enfin ??

Ah, c'est que j'avais ajouté un commentaire en début de fichier pour loger la surcharge...

JL

je rajoute un petit up en esperant que le fix sera dans la prochaine release

Hop,