views.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from postgres import Postgres
  2. from django.shortcuts import render, get_object_or_404
  3. from .models import Networks, Channels, Users
  4. def networks(request):
  5. networks = Networks.objects.all()
  6. channels = Channels.objects.all()
  7. users = Users.objects.all()
  8. db = Postgres("postgres://pyRot:4h8q(.@localhost/pyRot")
  9. messages = db.all("SELECT channel_network, messages, actions, notices FROM messages")
  10. #foo = db.all("SELECT * FROM messages WHERE channel_network='GamerGalaxy'")
  11. #print(foo)
  12. networklist = {}
  13. for network in networks:
  14. #print(db.all("SELECT messages, actions, notices FROM messages WHERE channel_network='" + str(network) + "'"))
  15. networklist[network.name] = {'channels': 0, 'users': 0, 'messages': 0}
  16. for user in users:
  17. networklist[user.network.name]['users'] += 1
  18. for channel in channels:
  19. networklist[channel.network.name]['channels'] += 1
  20. totalmessages = 0
  21. print("messages " + str(messages))
  22. for idx, record in enumerate(messages):
  23. print("messages for " + str(record))
  24. totalmessages += record[1] + record[2] + record[3]
  25. print("Saving messages to " + record[0])
  26. networklist[record[0]]['messages'] += record[1] + record[2] + record[3]
  27. print("new networklist " + str(networklist))
  28. context = {
  29. 'networks': networks,
  30. 'channels': channels,
  31. 'users': users,
  32. 'messages': messages,
  33. 'totalmessages': totalmessages,
  34. 'networklist': networklist,
  35. }
  36. return render(request, 'stats/networks.html', context)
  37. def network(request, network_name):
  38. network = get_object_or_404(Networks, name=network_name)
  39. context = {'network': network}
  40. return render(request, 'stats/network.html', context)