rating page

This commit is contained in:
emmatveev 2024-02-19 20:00:26 +03:00
parent 66973cc71e
commit 55be74a642

17
api.py
View File

@ -1,3 +1,5 @@
from collections import defaultdict
from flask import Flask
from mongo import mongo
@ -14,3 +16,18 @@ def stats_json():
"Всего чатов": mongo.chats_collection.count_documents({"chat_id": {"$lt": 0}}),
"Отвечено": replies
}
@app.route('/rating', methods=['GET'])
def main():
rating = defaultdict(int)
for doc in mongo.counter_collection.find({}):
rating[doc["username"]] += doc['count']
rating_list = []
for user, count in rating.items():
rating_list.append({'username': user, 'count': count})
page = '<html><body><h1>Рейтинг пользователей</h1><br><ul>'
for item in sorted(rating_list, key=lambda x: x['count'], reverse=True):
page += f'<li><a href="https://t.me/{item["username"]}">{item["username"]}</a> - {item["count"]}</li>'
page += '</ul></body></html>'
return page