tBKwtWS 7 роки тому
батько
коміт
4d84389136

+ 2 - 2
irc/commands/games.py

@@ -171,7 +171,7 @@ def do_command(self, connection, event):
         user = event.source.nick.lower()
         level, xp, xpspent, totalxp, karma, coin, coinspent, coingiven, ap, apspent = GameHelpers.get_info(self, user)
         if cmdtype == "help":    #Display help text.
-            connection.privmsg(replyto, "Spend " + str(int(level * 2.7)) + "XP to gain your next level. Gain multiple levels (for the price of the lowest level) by specifying the amount.")
+            connection.privmsg(replyto, "Spend " + str(int(level * 2.7)) + " XP to gain your next level. Gain multiple levels (for the price of the lowest level) by specifying the amount.")
         elif cmdtype == "cmd":    
             if len(command.split()) == 1:
                 if xp < int(level * 2.7):
@@ -221,7 +221,7 @@ def do_command(self, connection, event):
             elif len(command.split()) == 3:
                 stop = False
                 try:
-                    if int(command.split()[2]) < 0:
+                    if float(command.split()[2]) < 0:
                         connection.privmsg(replyto, "You clever abuser! The " + red + self.cmdchar + bold + "give" + bold + "coin" + reset + " command is not designed for robbing. There will be consequences...")
                         self.db.run("UPDATE users SET coin=coin-3, karma_correction=karma_correction-0.5 WHERE name=%s AND network=%s", (event.source.nick, self.network))
                         stop = True

+ 2 - 1
pyRot.e4p

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE Project SYSTEM "Project-5.1.dtd">
 <!-- eric project file for project pyRot -->
-<!-- Saved: 2018-02-11, 18:33:38 -->
+<!-- Saved: 2018-02-23, 15:58:04 -->
 <!-- Copyright (C) 2018 tBKwtWS,  -->
 <Project version="5.1">
   <Language>en_US</Language>
@@ -42,6 +42,7 @@
     <Source>webgui/stats/migrations/__init__.py</Source>
     <Source>webgui/stats/models.py</Source>
     <Source>webgui/stats/templates/stats/network.html</Source>
+    <Source>webgui/stats/templates/stats/network_channels.html</Source>
     <Source>webgui/stats/templates/stats/networks.html</Source>
     <Source>webgui/stats/tests.py</Source>
     <Source>webgui/stats/urls.py</Source>

+ 2 - 2
webgui/stats/templates/stats/network.html

@@ -12,7 +12,7 @@
 {% block content %}
     <article class="ui container">
         <header class="ui six statistics">
-            <a class="statistic" href="/">
+            <a class="statistic" href="{% url 'stats:network_channels' network.name %}">
                 <div class="value">
                     <i class="hashtag icon"></i> {{ totalchannelstats }}
                 </div>
@@ -38,7 +38,7 @@
             </a>
             <a class="statistic" href="/">
                 <div class="value">
-                    <i class="cocktail icon"></i> {{ totalactionstats }}
+                    <i class="podcast icon"></i> {{ totalactionstats }}
                 </div>
                 <div class="label">
                     Actions

+ 102 - 0
webgui/stats/templates/stats/network_channels.html

@@ -0,0 +1,102 @@
+{% extends "base.html" %}
+{% load static %}
+{% block head %}
+    <meta name="nonfiction" content="true">
+    <script type="text/javascript" src="{% static 'javascript/loader.js' %}"></script>
+{% endblock %}
+{% block title %}{{ network_name }} channels{% endblock %}
+{% block description %}Configred networks{% endblock %}
+{% block keywords %}channels, channel list{% endblock %}
+{% block keywords-not %}{% endblock %}
+{% block content %}
+    <article class="ui container">
+        <header class="ui six statistics">
+            <div class="statistic">
+                <div class="value">
+                    <i class="hashtag icon"></i> {{ totalchannelstats }}
+                </div>
+                <div class="label">
+                    Channels
+                </div>
+            </div>
+            <a class="statistic" href="/">
+                <div class="value">
+                    <i class="users icon"></i> {{ totaluserstats }}
+                </div>
+                <div class="label">
+                    Users
+                </div>
+            </a>
+            <a class="statistic" href="/">
+                <div class="value">
+                    <i class="comments icon"></i> {{ totalmessagestats }}
+                </div>
+                <div class="label">
+                    Messages
+                </div>
+            </a>
+            <a class="statistic" href="/">
+                <div class="value">
+                    <i class="podcast icon"></i> {{ totalactionstats }}
+                </div>
+                <div class="label">
+                    Actions
+                </div>
+            </a>
+            <a class="statistic" href="/">
+                <div class="value">
+                    <i class="announcement icon"></i> {{ totalnoticestats }}
+                </div>
+                <div class="label">
+                    Notices
+                </div>
+            </a>
+        </header>
+        <section class="ui basic text segment container">
+            <div class="ui basic segment">
+                <div class="ui celled selection link list">
+                    {% for channel in channels %}
+                        <a class="item" href="/">
+                            <div class="right floated content">
+                                <div class="ui horizontal list">
+                                    {% if channel.autojoin %}
+                                        <div class="item">
+                                            <i class="green thumbtack icon" title="Automatically joining channel"></i>
+                                        </div>
+                                    {% endif %}
+                                    {% if channel.key %}
+                                        <div class="item">
+                                            <i class="privacy icon" title="Channel key saved"></i>
+                                        </div>
+                                    {% endif %}
+                                    <div class="item">
+                                        <i class="comments outline icon"></i>
+                                            {{ channel.1.messagecount }}
+                                    </div>
+                                </div>
+                            </div>
+                            <i class="middle aligned hashtag icon"></i>
+                            <div class="content">
+                                <div class="header">
+                                    <div class="content" href="/">{{ network.0 }}</div>
+                                </div>
+                                <div class="description">
+                                    {{ network.1.host }}:{{ network.1.port }}
+                                </div>
+                            </div>
+                        </a>
+                    {% endfor %}
+                </div>
+            </div>
+        </section>
+    </article>
+{% endblock %}
+{% block breadcrumbs %}
+    <i class="sitemap icon"></i>
+    <a class="section" href="{% url 'stats:networks' %}">Networks</a>
+    <div class="divider"> / </div>
+    <a class="section" href="{% url 'stats:network' network_name %}">{{ network_name }}</a>
+    <div class="divider"> / </div>
+    <i class="hashtag icon"></i>
+    <div class="active section">Channels</div>
+{% endblock %}

+ 1 - 1
webgui/stats/templates/stats/networks.html

@@ -2,7 +2,7 @@
 {% load static %}
 {% block head %}
     <meta name="nonfiction" content="true">
-    <script type="text/javascript" src="{% static "javascript/loader.js" %}"></script>
+    <script type="text/javascript" src="{% static 'javascript/loader.js' %}"></script>
 {% endblock %}
 {% block title %}Networks{% endblock %}
 {% block description %}Configred networks{% endblock %}

+ 1 - 0
webgui/stats/urls.py

@@ -7,4 +7,5 @@ app_name = 'stats'
 urlpatterns = [
     path('networks', views.networks, name='networks'),
     path('network/<str:network_name>/', views.network, name='network'),
+    path('network/<str:network_name>/channels', views.network_channels, name='network_channels'),
 ]

+ 30 - 0
webgui/stats/views.py

@@ -130,3 +130,33 @@ def network(request, network_name):
         'totalcoinstats': totalcoinstats,
     }
     return render(request, 'stats/network.html', context)
+
+def network_channels(request, network_name):
+    get_list_or_404(Networks.objects.all())
+    channels = get_list_or_404(Channels.objects.filter(network=network_name))
+    users = Users.objects.filter(network=network_name)
+    messages = db.all("SELECT channel, \"user\", messages, actions, notices FROM messages WHERE channel_network='" + network_name + "'")
+    
+    totalchannelstats = convert_units.shorten_number(len(channels))
+    totaluserstats = convert_units.shorten_number(len(users))
+    totalmessagestats = 0
+    totalactionstats = 0
+    totalnoticestats = 0
+    for message in messages:
+        totalmessagestats += message[2]
+        totalactionstats += message[3]
+        totalnoticestats += message[4]
+    totalmessagestats = convert_units.shorten_number(totalmessagestats)
+    totalactionstats = convert_units.shorten_number(totalactionstats)
+    totalnoticestats = convert_units.shorten_number(totalnoticestats)
+    
+    context = {
+        'network_name': network_name, 
+        'totalchannelstats': totalchannelstats,
+        'totaluserstats': totaluserstats,
+        'totalmessagestats': totalmessagestats,
+        'totalactionstats': totalactionstats,
+        'totalnoticestats': totalnoticestats,
+        'channels': channels,
+    }
+    return render(request, 'stats/network_channels.html', context)