Fix HEAD, BODY
This commit is contained in:
parent
0fc03c3b21
commit
dcd639e96d
1 changed files with 7 additions and 11 deletions
|
@ -408,28 +408,24 @@ class Session():
|
||||||
return self.end()
|
return self.end()
|
||||||
|
|
||||||
def _message_by_id(self, identifier: str):
|
def _message_by_id(self, identifier: str):
|
||||||
cr = None
|
|
||||||
|
|
||||||
if identifier[0] == '<':
|
if identifier[0] == '<':
|
||||||
cr = self.db.query(Message, {
|
return self.db.get(Message, {
|
||||||
'newsgroup_id': self.newsgroup.id,
|
'newsgroup_id': self.newsgroup.id,
|
||||||
'message_id': identifier
|
'message_id': identifier
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
cr = self.db.query(Message, {
|
return self.db.get(Message, {
|
||||||
'newsgroup_id': self.newsgroup.id,
|
'newsgroup_id': self.newsgroup.id,
|
||||||
'id': int(identifier)
|
'id': int(identifier)
|
||||||
})
|
})
|
||||||
|
|
||||||
return cr.fetchone()
|
|
||||||
|
|
||||||
def _send_message_headers(self, message: Message):
|
def _send_message_headers(self, message: Message):
|
||||||
for name in message.headers:
|
for name in message.headers:
|
||||||
self.print("%s: %s" % (
|
self.print("%s: %s" % (
|
||||||
name, message.headers[name]
|
name, message.headers[name]
|
||||||
))
|
))
|
||||||
|
|
||||||
def _serve_message(self, part: MessagePart, identifier: Optional[str]):
|
def _serve_message(self, part: MessagePart, identifier: Optional[str]=None):
|
||||||
if self.newsgroup is None:
|
if self.newsgroup is None:
|
||||||
return self.respond(ResponseCode.NNTP_NEWSGROUP_NOT_SELECTED)
|
return self.respond(ResponseCode.NNTP_NEWSGROUP_NOT_SELECTED)
|
||||||
|
|
||||||
|
@ -443,7 +439,7 @@ class Session():
|
||||||
self.article_id = message.id
|
self.article_id = message.id
|
||||||
else:
|
else:
|
||||||
if identifier is None:
|
if identifier is None:
|
||||||
message = self._message_by_id(self.article_id)
|
message = self._message_by_id(str(self.article_id))
|
||||||
else:
|
else:
|
||||||
message = self._message_by_id(identifier)
|
message = self._message_by_id(identifier)
|
||||||
self.article_id = message.id
|
self.article_id = message.id
|
||||||
|
@ -466,13 +462,13 @@ class Session():
|
||||||
|
|
||||||
return self.end()
|
return self.end()
|
||||||
|
|
||||||
def _cmd_head(self, identifier: Optional[str]):
|
def _cmd_head(self, identifier: Optional[str]=None):
|
||||||
return self._serve_message(MessagePart.HEAD, identifier)
|
return self._serve_message(MessagePart.HEAD, identifier)
|
||||||
|
|
||||||
def _cmd_body(self, identifier: Optional[str]):
|
def _cmd_body(self, identifier: Optional[str]=None):
|
||||||
return self._serve_message(MessagePart.BODY, identifier)
|
return self._serve_message(MessagePart.BODY, identifier)
|
||||||
|
|
||||||
def _cmd_article(self, identifier: Optional[str]):
|
def _cmd_article(self, identifier: Optional[str]=None):
|
||||||
return self._serve_message(MessagePart.WHOLE, identifier)
|
return self._serve_message(MessagePart.WHOLE, identifier)
|
||||||
|
|
||||||
COMMANDS = {
|
COMMANDS = {
|
||||||
|
|
Loading…
Add table
Reference in a new issue