57 lines
1.4 KiB
Python
57 lines
1.4 KiB
Python
from nntp.tiny.response import Response
|
|
|
|
class RemoteException(Exception):
|
|
def __init__(self, response: Response):
|
|
self.response = response
|
|
|
|
def __str__(self):
|
|
return str(self.response)
|
|
|
|
class RemoteNewsgroup():
|
|
__slots__ = 'name',
|
|
|
|
def __init__(self, name: str):
|
|
self.name: str = name
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
class RemoteNewsgroupDescription(RemoteNewsgroup):
|
|
__slots__ = 'name', 'description',
|
|
|
|
def __init__(self, name: str, description: str):
|
|
super().__init__(name)
|
|
|
|
self.description: str = description
|
|
|
|
def __str__(self):
|
|
return "%s %s" % (
|
|
self.name, self.description
|
|
)
|
|
|
|
class RemoteNewsgroupSummary(RemoteNewsgroup):
|
|
__slots__ = 'name', 'low', 'high', 'post',
|
|
|
|
def __init__(self, name: str, low: int, high: int, post: bool):
|
|
super().__init__(name)
|
|
|
|
self.low: int = low
|
|
self.high: int = high
|
|
self.post: bool = post
|
|
|
|
def __str__(self):
|
|
return "%s %d %d %s" % (
|
|
self.name,
|
|
self.low,
|
|
self.high,
|
|
'y' if self.post else 'n'
|
|
)
|
|
|
|
class RemoteMessageOverview():
|
|
__slots__ = (
|
|
'id', 'subject', 'sender', 'created_on', 'message_id',
|
|
'references', 'size', 'lines', 'headers'
|
|
)
|
|
|
|
def __init__(self):
|
|
self.headers = dict()
|