34 lines
2.8 KiB
Python
34 lines
2.8 KiB
Python
from flask import Flask
|
||
|
||
import settings
|
||
from helpers.mongo import mongo
|
||
|
||
|
||
def api():
|
||
app = Flask(__name__)
|
||
|
||
@app.route('/stats', methods=['GET'])
|
||
def stats():
|
||
all_users = mongo.users_collection.count_documents({})
|
||
teachers = mongo.users_collection.count_documents({"is_teacher": True})
|
||
text = f"Всего пользователей: {all_users}<br>" \
|
||
f"Пользователей прошедших регистрацию: {mongo.users_collection.count_documents({'hse_id': {'$ne': None}})}<br>" \
|
||
f"Студентов: {all_users - teachers}<br>" \
|
||
f"Преподавателей: {teachers}<br>" \
|
||
f"Отписались от уведомлений: {mongo.users_collection.count_documents({'notify_minutes': None})}<br>" \
|
||
f"Отправлено уведомлений за сегодня: {mongo.lessons_collection.count_documents({'notified': True})}<br>" \
|
||
f"Проиндексировано занятий из РУЗа: {mongo.lessons_collection.count_documents({})}<br>" \
|
||
f"<br>" \
|
||
f"<br>" \
|
||
f"Пользователей из Москвы: {mongo.users_collection.count_documents({'campus': 'Москва'}) + mongo.users_collection.count_documents({'campus': {'$exists': False}})}<br>" \
|
||
f"Пользователей из Москвы (регистрация): {mongo.users_collection.count_documents({'campus': 'Москва', 'hse_id': {'$ne': None}}) + mongo.users_collection.count_documents({'campus': {'$exists': False}, 'hse_id': {'$ne': None}})}<br>" \
|
||
f"Пользователей из Перми: {mongo.users_collection.count_documents({'campus': 'Пермь'})}<br>" \
|
||
f"Пользователей из Перми (регистрация): {mongo.users_collection.count_documents({'campus': 'Пермь', 'hse_id': {'$ne': None}})}<br>" \
|
||
f"Пользователей из Нижнего Новгорода: {mongo.users_collection.count_documents({'campus': 'Нижний Новгород'})}<br>" \
|
||
f"Пользователей из Нижнего Новгорода (регистрация): {mongo.users_collection.count_documents({'campus': 'Нижний Новгород', 'hse_id': {'$ne': None}})}<br>" \
|
||
f"Пользователей из Санкт-Петербурга: {mongo.users_collection.count_documents({'campus': 'Санкт-Петербург'})}<br>" \
|
||
f"Пользователей из Санкт-Петербурга (регистрация): {mongo.users_collection.count_documents({'campus': 'Санкт-Петербург', 'hse_id': {'$ne': None}})}<br>"
|
||
return text
|
||
|
||
app.run(host="0.0.0.0", port=1238, debug=settings.DEBUG)
|