added year filter and cleaned the code some more

This commit is contained in:
crunk 2020-12-21 19:26:12 +01:00
parent 230f242af5
commit d0dac94911
4 changed files with 27 additions and 10 deletions

View File

@ -1,3 +1,6 @@
"""This parses the varlib.csv but only in a way
that is actually useful for the site"""
import csv
import os
@ -17,10 +20,14 @@ def getpublications():
csv_as_dict = csv.DictReader(libcsv)
publications = {}
for row in csv_as_dict:
year = row["Year"]
if not year:
year = "Unknown"
pubinfo = {
"Title": row["Publication"],
"Author": row["Author"],
"Type": row["Type"],
"Year": year,
}
publications[row["Id"]] = pubinfo
return publications
@ -44,8 +51,12 @@ def getyears():
csv_as_dict = csv.DictReader(libcsv)
listofyears = []
for row in csv_as_dict:
if row["Year"] not in listofyears:
listofyears.append(row["Year"])
uniqueyear = row["Year"]
if not uniqueyear:
uniqueyear = "Unknown"
if uniqueyear not in listofyears:
listofyears.append(uniqueyear)
listofyears.sort()
return listofyears

View File

@ -1,4 +1,4 @@
"""This is the main flask page code"""
"""This is the main flask library page"""
import flask
@ -11,8 +11,7 @@ APP = flask.Flask(__name__, static_folder="static")
@APP.route("/")
def index():
"""Main route"""
# parse csv, render template with a few elements from the csv
"""Main route, shows all the books and you can filter them, a bit"""
pubtypes = gettypes()
pubyears = getyears()
publicatons = getpublications()
@ -27,15 +26,14 @@ def index():
@APP.route("/<publicationID>")
def show_book(publicationID):
"""route for a publication"""
"""route for a publication, still needs to be made"""
# parse csv, render template with full list.
return render_template("publication.html")
@APP.route("/<publication>")
def upload_book(publication):
"""upload a new book"""
#
"""upload a new book, still needs to be made"""
return render_template("upload.html")

View File

@ -7,7 +7,7 @@
<div id="main">
<ul>
{% for id, pubinfo in publications.items() %}
<li class='filter {{ pubinfo["Type"] }}'><a href='{{ id }}'>{{ pubinfo["Author"] }} - {{ pubinfo["Title"] }}</a></li>
<li class='filter {{ pubinfo["Type"] }} {{ pubinfo["Year"] }}'><a href='{{ id }}'>{{ pubinfo["Author"] }} - {{ pubinfo["Title"] }}</a></li>
{% endfor%}
</ul>
</div>

View File

@ -5,8 +5,16 @@
<button class="dropbtn">Type</button>
<div class="dropdown-content">
{% for pubtype in pubtypes %}
<button type="button" name="button" onclick="filterSelection('{{ pubtype.title() }}')" >{{ pubtype }}</button>
<button type="button" name="button" onclick="filterSelection('{{ pubtype }}')" >{{ pubtype.title() }}</button>
{% endfor %}
</div>
</div>
<div class="dropdown">
<button class="dropbtn">Year</button>
<div class="dropdown-content">
{% for pubyear in pubyears %}
<button type="button" name="button" onclick="filterSelection('{{ pubyear }}')" >{{ pubyear }}</button>
{% endfor %}
</div>
</div>
{% endblock menu %}