this repo has no description

feat: drop mostliked feed

-49
-2
feed_manager.py
··· 7 7 from feeds.norazone_interesting import NoraZoneInteresting 8 8 from feeds.sevendirtywords import SevenDirtyWordsFeed 9 9 from feeds.ratio import RatioFeed 10 - from feeds.mostliked import MostLikedFeed 11 10 from feeds.outlinetags import OutlineTagsFeed 12 11 from feeds.popqp import PopularQuotePostsFeed 13 12 ··· 54 53 55 54 feed_manager = FeedManager() 56 55 feed_manager.register(PopularFeed) 57 - feed_manager.register(MostLikedFeed)
-47
feeds/mostliked.py
··· 1 - import logging 2 - 3 - import apsw 4 - import apsw.ext 5 - 6 - from . import BaseFeed 7 - 8 - class MostLikedFeed(BaseFeed): 9 - FEED_URI = 'at://did:plc:4nsduwlpivpuur4mqkbfvm6a/app.bsky.feed.generator/most-liked' 10 - 11 - def __init__(self): 12 - self.db_cnx = apsw.Connection('db/mostliked.db') 13 - self.db_cnx.pragma('foreign_keys', True) 14 - self.db_cnx.pragma('journal_mode', 'WAL') 15 - 16 - def generate_sql(self, limit, offset, langs): 17 - bindings = [] 18 - sql = """ 19 - select posts.uri, create_ts, create_ts - unixepoch('now', '-24 hours') as ttl, likes, lang 20 - from posts 21 - left join langs on posts.uri = langs.uri 22 - where 23 - """ 24 - if not langs: 25 - sql += " 1=1 " 26 - else: 27 - lang_values = list(langs.values()) 28 - bindings.extend(lang_values) 29 - sql += " OR ".join(['lang = ?'] * len(lang_values)) 30 - sql += """ 31 - order by likes desc, create_ts desc 32 - limit ? offset ? 33 - """ 34 - bindings.extend([limit, offset]) 35 - return sql, bindings 36 - 37 - def serve_feed(self, limit, offset, langs): 38 - sql, bindings = self.generate_sql(limit, offset, langs) 39 - cur = self.db_cnx.execute(sql, bindings) 40 - return [row[0] for row in cur] 41 - 42 - def serve_feed_debug(self, limit, offset, langs): 43 - sql, bindings = self.generate_sql(limit, offset, langs) 44 - return apsw.ext.format_query_table( 45 - self.db_cnx, sql, bindings, 46 - string_sanitize=2, text_width=9999, use_unicode=True 47 - )