maybe a fork of sparrowhe's "bluesky circle" webapp, to frontend only?
1from flask import render_template, request, current_app 2from flask_cors import cross_origin 3from . import avatar_bp 4from .parse_friends import parse_friends 5from at_client import at_client_extension 6from .utils import plot_avatars_full_circle 7 8@avatar_bp.route('/') 9def index(): 10 return render_template('index.html') 11 12@cross_origin() 13@avatar_bp.route('/generate', methods=['POST']) 14def generate_avatar(): 15 client = at_client_extension.get_client() 16 17 handle = request.form.get('handle') 18 # filter invisible characters 19 handle = ''.join(filter(lambda x: x.isprintable(), handle)) 20 handle.replace('@', '') 21 friends_data = parse_friends(client, handle) 22 center = client.get_profile(handle) 23 center_avatar_url = center.avatar 24 data = plot_avatars_full_circle(friends_data, center_avatar_url) 25 res = current_app.make_response(data) 26 res.headers['Content-Type'] = 'image/png' 27 return res