this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feeds: refactor Manager, simplify serve()

+9 -15
-1
feedgen.py
··· 58 58 async for commit in firehose_events(): 59 59 manager.process(commit) 60 60 61 - 62 61 if __name__ == '__main__': 63 62 asyncio.run(main())
+4 -7
feeds/__init__.py
··· 1 1 class Manager: 2 2 def __init__(self): 3 - self.feeds = [] 4 - self.webs = {} 3 + self.feeds = {} 5 4 6 5 def register(self, feed): 7 - f = feed() 8 - self.webs[feed.FEED_URI] = f 9 - self.feeds.append(f) 6 + self.feeds[feed.FEED_URI] = feed() 10 7 11 8 def process(self, commit): 12 - for feed in self.feeds: 9 + for _, feed in self.feeds.items(): 13 10 feed.process(commit) 14 11 15 12 def serve(self, feed_uri, limit, offset): 16 - feed = self.webs.get(feed_uri) 13 + feed = self.feeds.get(feed_uri) 17 14 if feed is not None: 18 15 return feed.serve(limit, offset)
+1 -5
feeds/rapidfire.py
··· 53 53 "select uri from posts order by create_ts desc limit :limit offset :offset", 54 54 dict(limit=limit, offset=offset) 55 55 ) 56 - 57 - feed = [dict(post=uri) for (uri,) in cur] 58 - offset += len(feed) 59 - 60 - return dict(cursor=str(offset), feed=feed) 56 + return [uri for (uri,) in cur]
+4 -2
feedweb.py
··· 2 2 3 3 from feeds import Manager 4 4 from feeds.rapidfire import RapidFireFeed 5 - 6 5 from flask import Flask, request 6 + 7 7 app = Flask(__name__) 8 8 9 9 @app.route('/.well-known/did.json') ··· 35 35 offset = 0 36 36 37 37 feed_uri = request.args['feed'] 38 - return manager.serve(feed_uri, limit, offset) 38 + posts = manager.serve(feed_uri, limit, offset) 39 + offset += len(posts) 39 40 41 + return dict(cursor=str(offset), feeds=[dict(post=uri) for uri in posts]) 40 42 41 43 if __name__ == '__main__': 42 44 app.run(debug=True)