Package twisted :: Package protocols :: Module nntp :: Class UsenetClientProtocol
[frames | no frames]

Class UsenetClientProtocol

BaseProtocol --+            
               |            
        Protocol --+        
                   |        
        LineReceiver --+    
                       |    
              NNTPClient --+
                           |
                          UsenetClientProtocol


A client that connects to an NNTP server and asks for articles new since a certain time.
Method Summary
  __init__(self, groups, date, storage)
Fetch all new articles from the given groups since the given date and dump them into the given storage.
  articleExists(self, exists, article)
  connectionMade(self)
Called when a connection is made.
  getNewNewsFailed(self, reason)
  gotArticle(self, article)
Override for notification when fetchArticle() action is completed
  gotNewNews(self, news)
Override for notification when getNewNews() action is successful
    Inherited from NNTPClient
  _endState(self)
  _getResponseCode(self)
  _headerGroup(self, (code, line))
  _headerInitial(self, (code, message))
  _headerMode(self, (code, message))
  _headerPost(self, (code, message))
  _headerPosted(self, (code, message))
  _newLine(self, line, check)
  _newState(self, method, error, responseHandler)
  _passiveError(self, error)
  _setResponseCode(self, code)
  _stateArticle(self, line)
  _stateBody(self, line)
  _stateHead(self, line)
  _stateList(self, line)
  _stateNewGroups(self, line)
  _stateNewNews(self, line)
  _stateOverview(self, line)
  _statePassive(self, line)
  _stateSubscriptions(self, line)
  _stateXHDR(self, line)
  fetchArticle(self, index)
Get the complete article with the specified index (or the currently selected article if index is '') or Message-ID from the server.
  fetchBody(self, index)
Get the body for the specified article (or the currently selected article if index is '') from the server.
  fetchGroup(self, group)
Get group information for the specified group from the server.
  fetchGroups(self)
Request a list of all news groups from the server.
  fetchHead(self, index)
Get the header for the specified article (or the currently selected article if index is '') from the server.
  fetchNewGroups(self, date, distributions)
Get the names of all new groups created/added to the server since the specified date - in seconds since the ecpoh, GMT - optionally restricted to the given distributions.
  fetchNewNews(self, groups, date, distributions)
Get the Message-IDs for all new news posted to any of the given groups since the specified date - in seconds since the epoch, GMT - optionally restricted to the given distributions.
  fetchOverview(self)
Request the overview format from the server.
  fetchSubscriptions(self)
Request a list of the groups it is recommended a new user subscribe to.
  fetchXHeader(self, header, low, high, id)
Request a specific header from the server for an article or range of articles.
  getAllGroupsFailed(self, error)
Override for notification when fetchGroups() action fails
  getArticleFailed(self, error)
Override for notification when fetchArticle() action fails
  getBodyFailed(self, body)
Override for notification when fetchBody() action fails
  getGroupFailed(self, error)
Override for notification when fetchGroup() action fails
  getHeadFailed(self, error)
Override for notification when fetchHead() action fails
  getNewGroupsFailed(self, error)
Override for notification when getNewGroups() action fails
  getOverviewFailed(self, error)
Override for notification when fetchOverview() action fails
  getSubscriptionsFailed(self, error)
Override for notification when fetchSubscriptions() action fails
  getXHeaderFailed(self, error)
Override for notification when getXHeader() action fails
  gotAllGroups(self, groups)
Override for notification when fetchGroups() action is completed
  gotBody(self, info)
Override for notification when fetchBody() action is completed
  gotGroup(self, group)
Override for notification when fetchGroup() action is completed
  gotHead(self, head)
Override for notification when fetchHead() action is completed
  gotNewGroups(self, groups)
Override for notification when getNewGroups() action is successful
  gotOverview(self, overview)
Override for notification when fetchOverview() action is completed
  gotSubscriptions(self, subscriptions)
Override for notification when fetchSubscriptions() action is completed
  gotXHeader(self, headers)
Override for notification when getXHeader() action is successful
  lineReceived(self, line)
Override this for when each line is received.
  postArticle(self, text)
Attempt to post an article with the specified text to the server.
  postedOk(self)
Override for notification when postArticle() action is successful
  postFailed(self, error)
Override for notification when postArticle() action fails
  quit(self)
  setStream(self)
Set the mode to STREAM, suspending the normal "lock-step" mode of communications.
  setStreamFailed(self, error)
Override for notification when setStream() action fails
  setStreamSuccess(self)
Override for notification when setStream() action is successful
    Inherited from LineReceiver
  clearLineBuffer(self)
Clear buffered data.
  dataReceived(self, data)
Protocol.dataReceived.
  lineLengthExceeded(self, line)
Called when the maximum line length has been reached.
  rawDataReceived(self, data)
Override this for when raw data is received.
  sendLine(self, line)
Sends a line to the other end of the connection.
  setLineMode(self, extra)
Sets the line-mode of this receiver.
  setRawMode(self)
Sets the raw mode of this receiver.
    Inherited from Protocol
  connectionFailed(self)
(Deprecated)
  connectionLost(self, reason)
Called when the connection is shut down.
    Inherited from BaseProtocol
  makeConnection(self, transport)
Make a connection to a transport and a server.

Class Variable Summary
    Inherited from NNTPClient
int MAX_COMMAND_LENGTH = 510                                                                   
    Inherited from LineReceiver
str _LineReceiver__buffer = ''
str delimiter: The line-ending delimiter to use.
int line_mode = 1                                                                     
int MAX_LENGTH: The maximum length of a line to allow (If a sent line is longer than this, the connection is dropped).
    Inherited from Protocol
tuple __implements__ = (<class twisted.internet.interfaces.IPr...
    Inherited from BaseProtocol
int connected = 0                                                                     
NoneType transport = None                                                                  

Method Details

__init__(self, groups, date, storage)
(Constructor)

Fetch all new articles from the given groups since the given date and dump them into the given storage. groups is a list of group names. date is an integer or floating point representing seconds since the epoch (GMT). storage is any object that implements the NewsStorage interface.
Overrides:
twisted.protocols.nntp.NNTPClient.__init__

connectionMade(self)

Called when a connection is made.

This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.
Overrides:
twisted.protocols.nntp.NNTPClient.connectionMade (inherited documentation)

gotArticle(self, article)

Override for notification when fetchArticle() action is completed
Overrides:
twisted.protocols.nntp.NNTPClient.gotArticle (inherited documentation)

gotNewNews(self, news)

Override for notification when getNewNews() action is successful
Overrides:
twisted.protocols.nntp.NNTPClient.gotNewNews (inherited documentation)

Generated by Epydoc 2.0 on Sat May 15 20:08:29 2004 http://epydoc.sf.net