11.9 nntplib --- Client pour le protocole NNTP

Ce module définit la classe NNTP qui implémente le côté client du protocole NNTP. Il peut servir à implémenter un lecteur ou un posteur de nouvelles, ou des processeurs de nouvelles automatisés. Pour plus d'informations sur NNTP (Network News Transfer Protocol), voir Internet RFC 977.

Voici deux petits exemples de la façon dont il peut être utilisé. Pour obtenir des statistiques au sujet d'un groupe de nouvelles et imprimer le sujet des 10 derniers articles:

>>> s = NNTP('news.cwi.nl')
>>> resp, compte, premier, dernier, nom = s.group('comp.lang.python')
>>> print 'Le groupe', nom, 'a', compte, 'articles, de', premier, 'à', dernier
Le groupe comp.lang.python a 59 articles, de 3742 à 3803
>>> resp, subs = s.xhdr('subject', premier + '-' + dernier)
>>> for id, sub in subs[-10:]: print id, sub
... 
3792 Re: Removing elements from a list while iterating...
3793 Re: Who likes Info files?
3794 Emacs and doc strings
3795 a few questions about the Mac implementation
3796 Re: executable python scripts
3797 Re: executable python scripts
3798 Re: a few questions about the Mac implementation 
3799 Re: PROPOSAL: A Generic Python Object Interface for Python C Modules
3802 Re: executable python scripts 
3803 Re: \POSIX{} wait and SIGCHLD
>>> s.quit()
'205 news.cwi.nl closing connection.  Goodbye.'

Pour poster un article depuis un fichier (en supposant que l'article a des en-têtes valides):

>>> s = NNTP('news.cwi.nl')
>>> f = open('/tmp/article')
>>> s.post(f)
'240 Article posted successfully.'
>>> s.quit()
'205 news.cwi.nl closing connection.  Goodbye.'

Le module lui-même définit les éléments suivants:

NNTP(hote[, port [, utilisateur[, motdepasse [, modelecture]]]])
Retourne une nouvelle instance de la classe NNTP, représentant une connexion au serveur NNTP qui tourne sur l'hôte hote, en écoute sur le port port. Le port par défaut est 119. Si les arguments optionnels utilisateur et motdepasse sont fournis, les commandes "AUTHINFO USER" et "AUTHINFO PASS" sont utilisées pour identifier et authentifier l'utilisateur vis-à-vis du serveur. Si l'indicateur optionnel modelecture est vrai, une commande "mode reader" est envoyée avant que l'authentification ne soit exécutée. Le mode de lecture est parfois nécessaire si vous vous connectez sur la machine locale et que vous avez l'intention d'appeler des commandes propres aux lecteurs, telles que "group". Si vous obtenez des NNTPPermanentError inattendues, il se peut que vous ayez besoin de définir modelecture. Par défaut, modelecture vaut None.

NNTPError()
Dérivée de l'exception standard Exception, c'est la classe de base pour toutes les exceptions déclenchées par le module nntplib.

NNTPReplyError()
Exception déclenchée quand une réponse inattendue est reçue du serveur. Pour des raisons de compatibilité ascendante, l'exception error_reply est équivalente à cette classe.

NNTPTemporaryError()
Exception déclenchée quand un code d'erreur dans l'intervalle 400--499 est reçu. Pour des raisons de compatibilité ascendante, l'exception error_temp est équivalente à cette classe.

NNTPPermanentError()
Exception déclenchée quand un code d'erreur dans l'intervalle 500--599 est reçu. Pour des raisons de compatibilité ascendante, l'exception error_perm est équivalente à cette classe.

NNTPProtocolError()
Exception déclenchée quand une réponse reçue du serveur ne commence pas par un chiffre dans l'intervalle 1--5. Pour des raisons de compatibilité ascendante, l'exception error_proto est équivalente à cette classe.

NNTPDataError()
Exception déclenchée quand il y a une erreur quelconque dans les données de réponse. Pour des raisons de compatibilité ascendante, l'exception error_data est équivalente à cette classe.


Sous-sections
  1. Objets NNTP