From e191f3655d5dfb872e8b63ff6586bf3c8c8e8843 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Tue, 26 Nov 2024 11:26:19 -0500 Subject: [PATCH] Ensure GROUP sets article ID when possible --- lib/nntp/tiny/session.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/nntp/tiny/session.py b/lib/nntp/tiny/session.py index baa5ba5..a685b0b 100644 --- a/lib/nntp/tiny/session.py +++ b/lib/nntp/tiny/session.py @@ -171,19 +171,25 @@ class Session(): cr = self.db.execute(sql, (newsgroup.id,)) row = cr.fetchone() - text = "%d %d %d %s" % ( - row[0], - row[1], - row[2], - newsgroup.name - ) + if row is None: + text = "%d %d %d %s" % ( + 0, 0, 0, newsgroup.name + ) - self.respond(ResponseCode.NNTP_GROUP_LISTING, text) + self.article_id = None + else: + text = "%d %d %d %s" % ( + row[0], + row[1], + row[2], + newsgroup.name + ) - self.newsgroup = newsgroup - self.article_id = None + self.article_id = row[1] - return + self.newsgroup = newsgroup + + return self.respond(ResponseCode.NNTP_GROUP_LISTING, text) def _newsgroup_summary(self, newsgroup: Newsgroup) -> str: sql = """