Merge pull request #3 from DoomHammer/add-label-maker
Add slightly (ok, very) dirty code to generate Brother P-Touch files
This commit is contained in:
commit
27eaf8191f
3 changed files with 165 additions and 31 deletions
25
main.py
25
main.py
|
|
@ -1,8 +1,17 @@
|
||||||
import os, shutil
|
import os, re, shutil
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
from discourse import DiscourseDatabase
|
from discourse import DiscourseDatabase
|
||||||
|
|
||||||
|
|
||||||
|
def add_download_button(row):
|
||||||
|
item_id = re.sub(r'<a href.*/([0-9]+)".*', "\\1", row[1])
|
||||||
|
download_button = (
|
||||||
|
f'<button id="btn_{item_id}"><i class="fa fa-download"></i> {item_id}</button>'
|
||||||
|
)
|
||||||
|
return row + [download_button]
|
||||||
|
|
||||||
|
|
||||||
def generate_dashboard():
|
def generate_dashboard():
|
||||||
"""Generate dashboard from zasoby.csv file"""
|
"""Generate dashboard from zasoby.csv file"""
|
||||||
print("Generating HTML dashboard")
|
print("Generating HTML dashboard")
|
||||||
|
|
@ -16,9 +25,16 @@ def generate_dashboard():
|
||||||
shutil.copytree("template/static", f"{website_folder}/static")
|
shutil.copytree("template/static", f"{website_folder}/static")
|
||||||
template = env.get_template("_main_layout.html")
|
template = env.get_template("_main_layout.html")
|
||||||
with open(f"{website_folder}/index.html", "w+", encoding="utf-8") as file:
|
with open(f"{website_folder}/index.html", "w+", encoding="utf-8") as file:
|
||||||
header_row = data.columns.values.tolist()
|
header_row = data.columns.values.tolist() + ["label"]
|
||||||
rows = data.values.tolist()
|
rows = map(
|
||||||
html = template.render(title="Baza Zasobów Hackerspace Trójmiasto", t_header=header_row, t_body=rows)
|
add_download_button,
|
||||||
|
data.values.tolist(),
|
||||||
|
)
|
||||||
|
html = template.render(
|
||||||
|
title="Baza Zasobów Hackerspace Trójmiasto",
|
||||||
|
t_header=header_row,
|
||||||
|
t_body=rows,
|
||||||
|
)
|
||||||
file.write(html)
|
file.write(html)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -26,3 +42,4 @@ if __name__ == "__main__":
|
||||||
DiscourseDatabase()
|
DiscourseDatabase()
|
||||||
generate_dashboard()
|
generate_dashboard()
|
||||||
print("Done!")
|
print("Done!")
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue