1

Compare commits

...

7 Commits

Author SHA1 Message Date
Ventilaar
2f2c592256 searching works 2021-01-12 16:19:04 +01:00
Ventilaar
ddd88b41f0 refactor sort.py naar ss(sort/search).py 2021-01-12 16:17:02 +01:00
Ventilaar
5c1005ab61 if statement aangepast 2021-01-12 15:58:19 +01:00
Ventilaar
a54a0d77f9 search.html toegevoegd 2021-01-12 15:55:56 +01:00
Ventilaar
ed66c9b6c0 search functie toegevoegd, en pad aangepast 2021-01-12 15:52:15 +01:00
Ventilaar
77e226b4f0 exit aangepast 2021-01-12 15:51:18 +01:00
Ventilaar
05368c5af1 search toegevoegd aan navbar 2021-01-12 15:50:51 +01:00
4 changed files with 76 additions and 24 deletions

32
run.py
View File

@@ -1,6 +1,6 @@
import json
from flask import Flask, render_template, request, url_for, Response
import sorting
import ss
import stats
#import steam_abstraction
import graphs
@@ -38,7 +38,7 @@ def root():
entries = []
# sorteer op de meest aantal gebruikers
data_lst = sorting.nest_qsort(data_tpl, 16, True)
data_lst = ss.nest_qsort(data_tpl, 16, True)
genre = 0
@@ -59,13 +59,13 @@ def fulltable():
reverse = False
if request.args.get('sortby') == "name":
data_lst = sorting.nest_qsort(data_tpl, 1, reverse)
data_lst = ss.nest_qsort(data_tpl, 1, reverse)
elif request.args.get('sortby') == "release_date":
data_lst = sorting.nest_qsort(data_tpl, 2, reverse)
data_lst = ss.nest_qsort(data_tpl, 2, reverse)
elif request.args.get('sortby') == "users":
data_lst = sorting.nest_qsort(data_tpl, 16, reverse)
data_lst = ss.nest_qsort(data_tpl, 16, reverse)
elif request.args.get('sortby') == "price":
data_lst = sorting.nest_qsort(data_tpl, 17, reverse)
data_lst = ss.nest_qsort(data_tpl, 17, reverse)
else:
data_lst = data_tpl # hoezo memory efficient werken?
@@ -78,6 +78,16 @@ def statistics():
return render_template('statistics.html')
@app.route('/search')
def search():
tosearch = []
query = request.args.get('q')
entries = ss.nest_search(data_tpl, query)
return render_template('search.html', entries=entries)
# @app.route('/login', methods=['GET', 'POST'])
# def login():
# if request.method == 'POST':
@@ -109,7 +119,7 @@ def releasemean():
for x in data_tpl:
lst.append(x[2])
lst = sorting.qsort(lst)
lst = ss.qsort(lst)
freqs = stats.freq(lst)
@@ -122,10 +132,4 @@ def releasemean():
if __name__ == "__main__":
try:
app.run('0.0.0.0', port=5001, debug=True)
finally:
try:
steam_abstraction.steamlogout()
except:
print('Error loggout out of steam client.')
app.run('0.0.0.0', port=5001, debug=True)

View File

@@ -56,3 +56,13 @@ def qsort(tpl, reverse=False):
return qsort(small, reverse) + same + qsort(large, reverse)
else:
return tpl
def nest_search(lst, word):
found = []
for x in lst:
if word.lower() in x[1].lower():
found.append(x)
return found

42
templates/search.html Normal file
View File

@@ -0,0 +1,42 @@
<html>
<head>
<title>Search</title>
<link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">
</head>
<body>
{% include "t-navbar.html" %}
<div class="container">
<div class="row row-cols-2">
<div class="col col-lg">
{% if (entries is defined) and entries %}
<table class="table table-striped">
<thead>
<tr>
<th><a href="/fulltable">App ID</a></th>
<th><a href="?sortby=name{% if reverse %}&reverse=True{% endif %}">Name</a></th>
<th><a href="?sortby=users{% if reverse %}&reverse=True{% endif %}">Users</a></th>
<th><a href="?sortby=release_date{% if reverse %}&reverse=True{% endif %}">Release date</a></th>
<th><a href="?sortby=price{% if reverse %}&reverse=True{% endif %}">Price</a></th>
</tr>
</thead>
<tbody>
{% for row in entries %}
<tr style="text-align: center;">
<td>{{ row[0] }}</td>
<td>{{ row[1] }}</td>
<td>{{ row[16] }} gebruikers</td>
<td>{{ row[2] }}</td>
<td>€ {{ row[17] }} ,-</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<h3 class="text-center">Geen zoekresultaten gevonden</h3>
{% endif %}
</div>
</div>
</div>
</body>
</html>

View File

@@ -1,10 +1,6 @@
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Steam Tracker</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<a class="navbar-brand">Steam Tracker</a>
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="/">Home {{ path }}</a>
</li>
@@ -14,9 +10,9 @@
<li class="nav-item">
<a class="nav-link" href="/statistics">Statistieken</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
</div>
<form class="form-inline my-2 my-lg-0" action="/search">
<input class="form-control mr-sm-2" type="search" placeholder="name of the game" name="q">
<button class="btn btn-outline-dark my-2 my-sm-0" type="submit">Zoeken</button>
</form>
</nav>