(self, id, f)
return self.getresp()
Process an IHAVE command.  Arguments:
        - id: message-id of the article
        - f:  file containing the article
        Returns:
        - resp: server response if successful
        Note that if the server refuses the article an exception is raised.
Process an IHAVE command.  Arguments:
        - id: message-id of the article
        - f:  file containing the article
        Returns:
        - resp: server response if successful
        Note that if the server refuses the article an exception is raised.
Process an IHAVE command . Arguments : - id : message - id of the article - f : file containing the article Returns : - resp : server response if successful Note that if the server refuses the article an exception is raised .
def ihave(self, id, f):
        """Process an IHAVE command.  Arguments:
        - id: message-id of the article
        - f:  file containing the article
        Returns:
        - resp: server response if successful
        Note that if the server refuses the article an exception is raised."""

        resp = self.shortcmd('IHAVE ' + id)
        # Raises error_??? if the server already has it
        if resp[0] != '3':
            raise NNTPReplyError(resp)
        while 1:
            line = f.readline()
            if not line:
                break
            if line[-1] == '\n':
                line = line[:-1]
            if line[:1] == '.':
                line = '.' + line
            self.putline(line)
        self.putline('.')
        return self.getresp()
def ihave ( self , id , f ) : resp = self . shortcmd ( 'IHAVE ' + id ) # Raises error_??? if the server already has it if resp [ 0 ] != '3' : raise NNTPReplyError ( resp ) while 1 : line = f . readline ( ) if not line : break if line [ - 1 ] == '\n' : line = line [ : - 1 ] if line [ : 1 ] == '.' : line = '.' + line self . putline ( line ) self . putline ( '.' ) return self . getresp ( )