Add conference details page sample.

This commit is contained in:
Ultra Desu
2018-10-31 19:41:16 +03:00
parent e6be431049
commit a8ceb41711
5 changed files with 95 additions and 20 deletions

View File

@@ -116,6 +116,43 @@ class DataBase:
"""
return self.execute(sql)
def get_conf_info(self, conf_id):
if not conf_id[1:].isdigit():
return False
raw1 = self.execute("""
SELECT c.title,
c.id,
date(c.date, 'unixepoch') as dt,
count(r.conf_id) as count,
t1.users
FROM `conf` c
LEFT JOIN `relations` r
ON c.id = r.conf_id
LEFT JOIN `user` u
ON u.id = r.user_id
LEFT JOIN (
SELECT id, title, count(user_id) as users FROM (
SELECT c.id, c.title, r.user_id, count(r.conf_id) as words
FROM `conf` c
LEFT JOIN `relations` r
ON c.id = r.conf_id
GROUP BY c.id, r.user_id
)
GROUP BY title) as t1
ON t1.id = c.id
WHERE c.id = '%s'
GROUP BY c.id
""" % conf_id)[0]
print(raw1)
conf_info = {
'title': raw1[0],
'id': raw1[1],
'date': raw1[2],
'word_count': raw1[3],
'users_cunt': raw1[4],
}
return conf_info
def get_user_info(self, user_id):
if not user_id.isdigit():
return False

View File

@@ -69,20 +69,19 @@ def conf():
confs=db.get_confs(),
totals=totals)
@app.route('/overview/conf/<conf_id>')
def conf_overview(conf_id):
return render_template(
'conf_details.html',
conf_info=db.get_conf_info(conf_id))
@app.route('/overview/user/<user_id>')
def user_overview(user_id):
totals = {
'users': db.get_user_count(),
'words': db.get_word_count(),
'relations': db.get_relations_count(),
'confs': db.get_confs_count()
}
return render_template(
'user.html',
user_info=db.get_user_info(user_id),
totals=totals)
user_info=db.get_user_info(user_id))
def get_threads(board):

View File

@@ -44,7 +44,7 @@
{% for conf in confs %}
<tr>
<th scope="row">{{ loop.index }}</th>
<td>{{ conf.0 }}</td>
<td><a href="/overview/conf/{{conf.1}}">{{ conf.0 }}</a></td>
<td>{{ conf.1 }}</td>
<td>{{ conf.2 }}</td>
<td>{{ conf.4 }}</td>

View File

@@ -0,0 +1,39 @@
{% extends "base.html" %}
{% block head %}
{{ super() }}
{% endblock %}
{% block content %}
{{ super() }}
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link" href="/">Users</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="/conf">Conferences</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/stat">2ch.hk Stats</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
<br>
<hr>
<h4>{{ conf_info.title }} conference data</h4>
<hr>
<div class="card-columns">
<div class="card">
<div class="card-body">
<h5 class="card-title">Meta</h5>
<hr>
<p class="card-text">
<b>Title: </b>{{ conf_info.title }}<br>
<b>Telegram ID: </b>{{ conf_info.id }}<br>
<b>Firstly seen: </b>{{ conf_info.date }}<br>
</p>
</div>
</div>
</div>
{% endblock %}

View File

@@ -20,7 +20,7 @@
</ul>
<br>
<hr>
<h4>{{ user_info.first_name }} user's data</h4>
<h4>{{ user_info.first_name }}'s user data</h4>
<hr>
<div class="card-columns">
<div class="card">