1

Compare commits

...

12 Commits

Author SHA1 Message Date
Ventilaar
89a4a680bf route toegevoegd voor hardware 2021-01-16 19:45:27 +01:00
Ventilaar
052a4804bd mini tabel met data toegevoegd 2021-01-16 19:44:06 +01:00
Ventilaar
357daf3b4f hardware.html toegevoegd en title aangepast 2021-01-16 19:43:57 +01:00
Ventilaar
98ce2706aa aaaaa veranderd naar lorem ipsum 2021-01-16 19:09:19 +01:00
Ventilaar
85e5ee5e57 steam foto gebruiken ipv login form 2021-01-16 18:57:55 +01:00
Ventilaar
965a15f2a4 staem fotos toegevoegd 2021-01-16 18:55:06 +01:00
Ventilaar
9f61ce84df stats.popgenre() aanroepen 2021-01-16 18:51:56 +01:00
Ventilaar
2b0b2c846f functie om de populairste genre op tevragen toegevoegd 2021-01-16 18:51:33 +01:00
Ventilaar
ec70c7ee97 appid in tabel klikbaar maken 2021-01-16 18:50:31 +01:00
Ventilaar
ebcebbaaaa fulltable aangepast zodat maximale regels werken 2021-01-16 18:38:52 +01:00
Ventilaar
aaf752fbbb variabelen na het laden van de json vrijmaken voor minder memory usage 2021-01-16 18:33:49 +01:00
Ventilaar
b20fbe0dc8 app hyperlinking toegevoegd in search pagina 2021-01-16 18:33:18 +01:00
12 changed files with 115 additions and 15 deletions

16
run.py
View File

@@ -32,6 +32,9 @@ with open('steam.json') as file:
# datalijst omzetten in tuple, dit is de globale variabele die opgeroepen mag worden
data_tpl = tuple(temp_biglst)
# geheugen/variabelen vrijmaken
del blob, temp_biglst, temp_lst, temp_tpl
@app.route('/')
def root():
@@ -40,7 +43,7 @@ def root():
# sorteer op de meest aantal gebruikers
data_lst = ss.nest_qsort(data_tpl, 16, True)
genre = 0
genre = stats.popgenre(data_tpl)
# limiteer tabel tot en met 15 entries
for x in range(0, 15):
@@ -52,10 +55,9 @@ def root():
@app.route('/fulltable')
def fulltable():
max_rows_per_page = request.args.get('r', 100, int)
page = request.args.get('p', 1, int)
if max_rows_per_page == -1:
max_rows_per_page = 100
max_rows_per_page = len(data_tpl)
entries = []
@@ -75,7 +77,7 @@ def fulltable():
else:
data_lst = data_tpl # hoezo memory efficient werken?
for x in range(max_rows_per_page*page-max_rows_per_page, max_rows_per_page*page):
for x in range(0, max_rows_per_page):
entries.append(data_lst[x])
return render_template('fulltable.html', first_entry=data_tpl[0], entries=entries, reverse=not reverse)
@@ -86,9 +88,13 @@ def statistics():
return render_template('statistics.html')
@app.route('/hardware')
def hardware():
return render_template('statistics.html')
@app.route('/search')
def search():
tosearch = []
query = request.args.get('q')
entries = ss.nest_search(data_tpl, query)

BIN
static/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
static/img/staem trek.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
static/img/staem.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -33,7 +33,7 @@ def var(lst):
def std(lst):
""" Retourneer de standaardafwijking (float) van de lijst lst. """
return float(var(lst)**0.5) # wortel trekken van variatie
return float(var(lst) ** 0.5) # wortel trekken van variatie
def freq(lst):
@@ -68,4 +68,20 @@ def modes(lst):
if f[x] == maximum_v: # als de waarde van de dict overeenkomt met de maximum berekende waarde
r.append(x) # de key opslaan in de resultaten lijst
return sorted(r) # geef de r lijst terug gesorteerd
return sorted(r) # geef de r lijst terug gesorteerd
########################################
# stats genereren #
########################################
def popgenre(data_tpl):
genres = []
for x in data_tpl: # voor elke "game"
lst_genres = x[9].split(';') # genres opsplitten door de semicolons
for y in lst_genres: # voor elke genre in game
genres.append(y) # toevoegen genre in lijst genres
return modes(genres)[0] # eerst populairste genre terug geven op basis van gegevens van modes(), wat is de kans
# dat er meerdere genres tegelijk populair zijn, toch?

View File

@@ -33,6 +33,47 @@
</div>
</div>
<div class="col-md-6">
<p>{{ data['data']['short_description'] }}</p>
<table class="table table-sm table-dark">
<tr>
<td>Applicatie ID</td>
<td>{{ data['data']['steam_appid'] }}</td>
</tr>
<tr>
<td>Developers</td>
<td>{% for x in data['data']['developers'] %}{{ x }} {% endfor %}</td>
</tr>
<tr>
<td>Publishers</td>
<td>{% for x in data['data']['publishers'] %}{{ x }} {% endfor %}</td>
</tr>
<tr>
<td>Platforms</td>
<td><ul>{% for x in data['data']['platforms'] %}
<li>
{% if x == "windows" and data['data']['platforms'][x] == True %}
Windows: Ja
{% elif x == "windows" %}
Windows: Nee
{% endif %}
{% if x == "mac" and data['data']['platforms'][x] == True %}
Mac: Ja
{% elif x == "mac" %}
Mac: Nee
{% endif %}
{% if x == "linux" and data['data']['platforms'][x] == True %}
Linux: Ja
{% elif x == "linux" %}
Linux: Nee
{% endif %}
</li>
{% endfor %}</ul></td>
</tr>
<tr>
<td>Uitgave datum</td>
<td>{{ data['data']['release_date']['date'] }}</td>
</tr>
</table>
</div>
</div>
</div>

View File

@@ -21,7 +21,7 @@
<tbody>
{% for row in entries %}
<tr style="text-align: center;">
<td>{{ row[0] }}</td>
<td><a href="/app/{{ row[0] }}">{{ row[0] }}</a></td>
<td>{{ row[1] }}</td>
<td>{{ row[16] }} gebruikers</td>
<td>{{ row[2] }}</td>

30
templates/hardware.html Normal file
View File

@@ -0,0 +1,30 @@
<html>
<head>
<title>Hardware</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">
<h1>container</h1>
{{ lipsum() }}
</div>
<div class="col">
<h1>container</h1>
{{ lipsum() }}
</div>
<div class="col col-lg">
<h1>container</h1>
{{ lipsum() }}
</div>
<div class="col col-lg">
<h1>container</h1>
{{ lipsum() }}
</div>
</div>
</div>
</body>
</html>

View File

@@ -14,6 +14,8 @@
<p>Meest populaire genre is <b>{{ genre }}</b></p>
</div>
<div class="col mt-3">
<!--
Dit gaan we voorlopig niet meer gebruiken
<form action="/login" method="post">
<div class="form-floating mb-3">
<input type="text" class="form-control" name="loginACC" placeholder="accountname">
@@ -28,6 +30,8 @@
<input type="submit" class="form-control" value="Login">
</div>
</form>
-->
<img src="{{ url_for('static', filename='img/staem.png') }}" width="500" height="500"/>
</div>
<div class="col col-lg">
@@ -46,7 +50,7 @@
<tbody>
{% for row in entries %}
<tr style="text-align: center;">
<td>{{ row[0] }}</td>
<td><a href="/app/{{ row[0] }}">{{ row[0] }}</a></td>
<td>{{ row[1] }}</td>
<td>{{ row[16] }}</td>
<td>{{ row[2] }}</td>

View File

@@ -22,7 +22,7 @@
<tbody>
{% for row in entries %}
<tr style="text-align: center;">
<td>{{ row[0] }}</td>
<td><a href="/app/{{ row[0] }}">{{ row[0] }}</a></td>
<td>{{ row[1] }}</td>
<td>{{ row[16] }} gebruikers</td>
<td>{{ row[2] }}</td>

View File

@@ -1,6 +1,6 @@
<html>
<head>
<title>Index</title>
<title>Statistics</title>
<link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">
</head>
<body>
@@ -9,19 +9,19 @@
<div class="row row-cols-2">
<div class="col">
<h1>container</h1>
<p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
{{ lipsum() }}
</div>
<div class="col">
<h1>container</h1>
<p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
{{ lipsum() }}
</div>
<div class="col col-lg">
<h1>container</h1>
<p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
{{ lipsum() }}
</div>
<div class="col col-lg">
<h1>container</h1>
<p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
{{ lipsum() }}
</div>
</div>
</div>

View File

@@ -10,6 +10,9 @@
<li class="nav-item">
<a class="nav-link" href="/statistics">Statistieken</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/hardware">Hardware</a>
</li>
</ul>
<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">