diff options
author | neptune | 2022-12-27 08:45:07 -0300 |
---|---|---|
committer | neptune | 2022-12-27 08:45:07 -0300 |
commit | b318f19b4911334d1d7c3b5196d938dd64d68d90 (patch) | |
tree | 95a11a55ae60f5170d45398365fc3fb227afb011 | |
parent | be1daf645af908863fbb012e889979f2ef1aed48 (diff) | |
download | weabot-b318f19b4911334d1d7c3b5196d938dd64d68d90.tar.gz weabot-b318f19b4911334d1d7c3b5196d938dd64d68d90.tar.xz weabot-b318f19b4911334d1d7c3b5196d938dd64d68d90.zip |
Arreglada lógica de RSS
-rw-r--r-- | cgi/post.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/cgi/post.py b/cgi/post.py index b84b753..b7efef1 100644 --- a/cgi/post.py +++ b/cgi/post.py @@ -100,7 +100,7 @@ def threadNumReplies(post): """ board = Settings._.BOARD - num = FetchOne("SELECT COUNT(1) AS 'count' FROM `posts` WHERE `parentid` = %s AND `boardid` = %s" % (post, board['id'])) + num = FetchOne("SELECT COUNT(1) AS 'count' FROM `posts` WHERE `parentid` = %s AND `boardid` = %s", (post, board['id'])) return int(num["count"]) + 1 def get_parent_post(post_id, board_id): @@ -112,6 +112,12 @@ def get_parent_post(post_id, board_id): else: raise UserError(_("The ID of the parent post is invalid.")) +def getParentTimestamp(post): + if post['parentid']: + return FetchOne("SELECT `timestamp` FROM `posts` WHERE `id` = %s AND `boardid` = %s", (post['parentid'], post['boardid']))['timestamp'] + else: + return None + def getThread(postid=0, mobile=False, timestamp=0): board = Settings._.BOARD total_bytes = 0 @@ -1037,7 +1043,7 @@ def getLastAge(board_type, limit): return threads def getNewPosts(limit, rss=False): - sql = "SELECT posts.id, boards.name AS board_fulln, board_type, boards.dir, timestamp, posts.message FROM posts INNER JOIN boards ON posts.boardid = boards.id WHERE IS_DELETED = 0 AND boards.secret = 0 ORDER BY timestamp DESC LIMIT %s" + sql = "SELECT posts.id, parentid, boardid, boards.name AS board_fulln, board_type, boards.dir, timestamp, posts.message FROM posts INNER JOIN boards ON posts.boardid = boards.id WHERE IS_DELETED = 0 AND boards.secret = 0 ORDER BY timestamp DESC LIMIT %s" posts = FetchAll(sql, (limit,)) for post in posts: @@ -1047,9 +1053,9 @@ def getNewPosts(limit, rss=False): post['timestamp_formatted'] = datetime.datetime.fromtimestamp(post['timestamp']).strftime('%Y-%m-%dT%H:%M:%S%Z') if post['board_type'] == 1: - post['url'] = '/%s/read/%d/l10' % (post['dir'], post['timestamp']) + post['url'] = '/%s/read/%d/l10' % (post['dir'], getParentTimestamp(post) or post['timestamp']) else: - post['url'] = '/%s/res/%d.html' % (post['dir'], post['id']) + post['url'] = '/%s/res/%d.html#%d' % (post['dir'], post['parentid'] or post['id'], post['id']) return posts |