this repo has no description
1#!/usr/bin/env python3 2 3from feeds import FeedManager 4from feeds.rapidfire import RapidFireFeed 5from feeds.popular import PopularFeed 6from flask import Flask, request, jsonify 7 8app = Flask(__name__) 9 10@app.route('/xrpc/app.bsky.feed.getFeedSkeleton') 11def get_feed_skeleton(): 12 manager = FeedManager() 13 manager.register(RapidFireFeed) 14 # manager.register(PopularFeed) 15 16 try: 17 limit = int(request.args.get('limit', 50)) 18 except ValueError: 19 limit = 50 20 21 try: 22 offset = int(request.args.get('cursor', 0)) 23 except ValueError: 24 offset = 0 25 26 if request.args['feed'].endswith('-dev'): 27 feed_uri = request.args['feed'].replace('-dev', '') 28 else: 29 feed_uri = request.args['feed'] 30 31 langs = request.accept_languages 32 posts = manager.serve_feed(feed_uri, limit, offset, langs) 33 offset += len(posts) 34 35 return dict(cursor=str(offset), feed=[dict(post=uri) for uri in posts]) 36 37if __name__ == '__main__': 38 from feedweb_utils import did_doc 39 app.add_url_rule('/.well-known/did.json', view_func=did_doc) 40 app.run(debug=True)