from django.shortcuts import render, get_list_or_404, get_object_or_404 from django.conf import settings from .models import Networks, Channels, Users from webgui.common import convert_units db = settings.BOT_DB def networks(request): networks = get_list_or_404(Networks.objects.all()) channels = Channels.objects.all() users = Users.objects.all() messages = db.all("SELECT channel_network, messages, actions, notices FROM messages") networklist = {} for network in networks: networklist[network.name] = {'channels': 0, 'users': 0, 'messages': 0} for user in users: networklist[user.network.name]['users'] += 1 for channel in channels: networklist[channel.network.name]['channels'] += 1 totalmessages = 0 for idx, record in enumerate(messages): totalmessages += record[1] + record[2] + record[3] networklist[record[0]]['messages'] += record[1] + record[2] + record[3] totalmessages = convert_units.shorten_number(totalmessages) context = { 'networks': networks, 'channels': channels, 'users': users, 'messages': messages, 'totalmessages': totalmessages, 'networklist': networklist, } return render(request, 'stats/networks.html', context) def network(request, network_name): network = get_object_or_404(Networks, name=network_name) channels = Channels.objects.filter(network=network_name) users = Users.objects.filter(network=network_name) records = db.all("SELECT messages, actions, notices FROM messages WHERE channel_network='" + network_name + "'") print(records) totalmessages = 0 totalactions = 0 totalnotices = 0 for record in records: totalmessages += record[0] totalactions += record[1] totalnotices += record[2] context = { 'network': network, 'channels': channels, 'users': users, 'totalmessages': totalmessages, 'totalactions': totalactions, 'totalnotices': totalnotices, } return render(request, 'stats/network.html', context)