Skip to content

greenbender/pynntp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pynntp

Python NNTP library.

This package includes advanced NNTP features, including, compressed headers.

The most important (useful) feature of this package over other nntp libaries is the ablity to use generators to produce data. This allows for streaming download of large responses to say an XOVER command (which can produce gigabytes of data) and allows you to process the data at the same time is is being received. Meaning that memory use is minimal (even for the largest responses) and that cycles aren't being wasted waiting on a blocking read (even in a single threaded application)

Example

>>> import nntp
>>> nntp_client = nntp.NNTPClient('usenet-host.com', 443, 'user', 'password', use_ssl=True)
>>> nntp_client.date()
datetime.datetime(2013, 10, 19, 6, 11, 41, tzinfo=_tzgmt())
>>> nntp_client.xfeature_compress_gzip()
True
>>> nntp_client.date()
datetime.datetime(2013, 10, 19, 6, 13, 3, tzinfo=_tzgmt())

Supported Commands

NNTP commands that are currently supported include:

  • CAPABILITIES
  • MODE READER
  • QUIT
  • DATE
  • HELP
  • NEWGROUPS
  • NEWNEWS
  • LIST ACTIVE
  • LIST ACTIVE.TIMES
  • LIST NEWSGROUPS
  • LIST OVERVIEW.FMT
  • LIST EXTENSIONS
  • GROUP
  • NEXT
  • LAST
  • ARTICLE
  • HEAD
  • BODY
  • POST
  • XHDR
  • XZHDR
  • XOVER
  • XZVER
  • XPAT
  • XFEATURE COMPRESS GZIP
  • POST