Projet

Général

Profil

Development #12919

création d'annonces depuis un flux RSS externe

Ajouté par Serghei Mihai il y a plus de 7 ans. Mis à jour il y a environ 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
24 août 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Chaque annonce devient une annonce web/mail


Fichiers

Révisions associées

Révision 7cf80d56 (diff)
Ajouté par Serghei Mihai il y a plus de 7 ans

create announces from external RSS feed (#12919)

Historique

#1

Mis à jour par Serghei Mihai il y a plus de 7 ans

Avec une tâche cron qui synchronise toutes les heures les categories disposant d'un flux rss défini.

#2

Mis à jour par Frédéric Péters il y a plus de 7 ans

s/stream/feed/

announce, created = Announce.objects.get_or_create(title=entry['title'], category=self)

Plutôt que se baser sur le titre il faudrait utiliser un identifiant stable présent dans le fil, feedparser normalise ça dans entry.id.

#4

Mis à jour par Serghei Mihai il y a plus de 7 ans

Avec le parsing de la date de création des fils par dateutil.

#5

Mis à jour par Frédéric Péters il y a plus de 7 ans

feedparser fait déjà le taf de lecture des dates. (https://pythonhosted.org/feedparser/date-parsing.html)

#6

Mis à jour par Serghei Mihai il y a plus de 7 ans

Ok, merci.
Et au passage j'utilise le bon attribut published et non updated.

#7

Mis à jour par Serghei Mihai il y a plus de 7 ans

Patch à jour avec téléchargement/mise à jour des images des flux RSS afin de pouvoir les servir depuis l'instance de corbo.

#8

Mis à jour par Frédéric Péters il y a plus de 7 ans

                for img in html_tree.xpath('//img/@src'):
                    r = requests.get(img)

Mmm, si jamais les attributs contenaient des URL relatives ? (peut-être pas utile de s'en préoccuper, je n'ai pas trouvé de fil faisant cela).

                for old, new in substitutions:
                    text = text.replace(old, new)

Il n'y aurait pas moyen de faire la substitution dans le DOM, puis de dumper celui-ci, plutôt que faire l'analyse du DOM puis de la substitution au grand large ? (c'est facile d'imaginer des cas où la substitution foirerait, mais faut le faire exprès)

#9

Mis à jour par Serghei Mihai il y a plus de 7 ans

Frédéric Péters a écrit :

[...]

Mmm, si jamais les attributs contenaient des URL relatives ? (peut-être pas utile de s'en préoccuper, je n'ai pas trouvé de fil faisant cela).

Je ne suis pas tombé non plus sur des fils avec des chemins relatifs vers les images, donc je pars du principe que toutes les URL sont absolues.

Il n'y aurait pas moyen de faire la substitution dans le DOM, puis de dumper celui-ci, plutôt que faire l'analyse du DOM puis de la substitution au grand large ? (c'est facile d'imaginer des cas où la substitution foirerait, mais faut le faire exprès)

Si, dans le patch joint.

#10

Mis à jour par Serghei Mihai il y a plus de 7 ans

  • Statut changé de En cours à Résolu (à déployer)

Auto-ack:

commit 7cf80d569a9331c44c0b8fdeeadb29cad8ece236
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Wed Sep 28 14:53:10 2016 +0200

    create announces from external RSS feed (#12919)

#11

Mis à jour par Frédéric Péters il y a plus de 7 ans

  • Statut changé de Résolu (à déployer) à En cours

Et l'autoack passe à côté du fichier sync_external_feeds.py qui manque.

#12

Mis à jour par Serghei Mihai il y a plus de 7 ans

Traité dans #13889.

#13

Mis à jour par Serghei Mihai il y a plus de 7 ans

  • Statut changé de En cours à Résolu (à déployer)

Commande manquante poussée.

#14

Mis à jour par Serghei Mihai il y a environ 7 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF