Implement Client.message_offer()
This commit is contained in:
parent
3a0dac2c41
commit
dfe94c61e4
1 changed files with 14 additions and 2 deletions
|
@ -2,6 +2,7 @@ import re
|
|||
import socket
|
||||
import ssl
|
||||
import datetime
|
||||
import email.header
|
||||
import email.utils
|
||||
|
||||
from typing import Optional
|
||||
|
@ -9,7 +10,7 @@ from typing import Optional
|
|||
from nntp.tiny.socket import Connection
|
||||
from nntp.tiny.host import Host
|
||||
from nntp.tiny.response import Response, ResponseCode
|
||||
from nntp.tiny.message import MessageRange, Message
|
||||
from nntp.tiny.message import MessageRange, Message, MessagePart
|
||||
|
||||
from nntp.tiny.remote import (
|
||||
RemoteException,
|
||||
|
@ -143,7 +144,7 @@ class Client(Connection):
|
|||
|
||||
yield message
|
||||
|
||||
def get_message_by_id(self, message_id: str) -> Message:
|
||||
def message_by_id(self, message_id: str) -> Message:
|
||||
message = Message()
|
||||
|
||||
self.request('ARTICLE', message_id)
|
||||
|
@ -154,3 +155,14 @@ class Client(Connection):
|
|||
message.finish()
|
||||
|
||||
return message
|
||||
|
||||
def message_offer(self, message: Message):
|
||||
response = self.request('IHAVE', message.message_id)
|
||||
|
||||
if response.code is ResponseCode.NNTP_ARTICLE_NOT_WANTED_ID:
|
||||
return
|
||||
elif response.code not ResponseCode.NNTP_INQUIRY_ARTICLE_ID:
|
||||
raise RemoteException(response)
|
||||
|
||||
self.message_send(message, MessagePart.WHOLE)
|
||||
self.end()
|
||||
|
|
Loading…
Add table
Reference in a new issue