6.14. Générateur de flux RSS
6.14.1 RSS()
Karrigell fournit une classe,RSS(), vous permettant de facilement générer des flux RSS 2.0.Utilisation de
RSS() :
from k_rss import RSS
rss = RSS(parameters)
Les paramètres de
RSS() sont nommés. En voici la liste :
title(obligatoire)link(obligatoire)description(obligatoire)languagecopyrightmanagingEditorwebMasterpubDatelastBuildDatecategorygeneratordocscloudttlimageratingskipHoursskipDays
6.14.2 AddItem()
Une fois le "channel" créé à l'aide deRSS(), vous pouvez ajouter des éléments à l'aide de la
méthode AddItem().Utilisation de
AddItem():
rss.AddItem(parameters)
Les paramètres de
AddItem() sont nommés. En voici la liste :
titlelinkdescriptionauthorcategorycommentsenclosureguidpubDatesource
title ou description doit être passé en argument à AddItem().
6.14.3 Types des paramètres
Les paramètres deRSS() et de AddItem() peuvent être des types suivants :
- texte : une chaine de caractère ou une chaine unicode.
- date : datetime.datetime convertit en chaine de caractère en respectant le bon formatage. La "Timezone" est gérée (cf note).
- image : un dictionaire contenant les clés suivantes :
- url (obligatoire)
- title (obligatoire)
- link (obligatoire)
- width
- height
- description
6.14.4 Render() and RenderInFile()
Pour générer un flux RSS, vous pouvez utiliserRender() or RenderInFile().
Render() accepte un seul paramètre : l'encodage de sortie (optionnel,
l'encodage de sortie par défaut est iso-8859-1).
Render() retourne une chaine unicode correctement formattée.
RenderInfile() accepte deux paramètres : un nom de fichier (obligatoire) ainsi que l'encodage de sortie (optionnel).
RenderInfile() a le même fonctionnement que Render() mais génère un fichier et ne retourne rien.
6.14.5 Exemple
from k_rss import RSS
import datetime
rss = RSS(title="Karrigell",
description="Flexible Python web framework, with a clear and intuitive syntax.",
link="http://www.karrigell.com",
webMaster="quentel.pierre@wanadoo.fr (Pierre Quentel)",
language="en",
generator="Karrigell RSS generator",
image={"url":"http://karrigell.sourceforge.net/images/karrigell_skeudenn.png",
"title":"Karrigell",
"link":"http://www.karrigell.com"}
)
rss.AddItem (title='Last item',
description='My most recent item.',
pubDate = datetime.datetime.now())
rss.AddItem (title='First item',
description='My first item.',
pubDate = datetime.datetime(year=2009, month=3, day=16, hour=22, minute=34, second=17))
print rss.Render()
Dans cet exemple, un flux RSS est généré avec comme titre "Karrigell". Deux éléments sont ajoutés.