🧐 Render melee cards
This commit is contained in:
parent
c0fc97a578
commit
8c7e842d2e
78 changed files with 243 additions and 1 deletions
47
data/render/server.py
Executable file
47
data/render/server.py
Executable file
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/env python3
|
||||
# # -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
import base64
|
||||
import re
|
||||
from bottle import route, run, static_file, view
|
||||
|
||||
sys.path.append("../convert/31-0")
|
||||
from db import *
|
||||
|
||||
db.bind(provider="sqlite", filename="../clean/31-0/data.sqlite3")
|
||||
db.generate_mapping(create_tables=True)
|
||||
|
||||
|
||||
@route("/<name>")
|
||||
@view("weapon")
|
||||
def melee(name):
|
||||
with db_session:
|
||||
query = select(w for w in Melee if w.name == name)
|
||||
weapon = query.first()
|
||||
mechanism, _ = re.subn(
|
||||
r"{(.*?)@(.*?)}", r"<span class='\2'>\1</span>", weapon.mechanism
|
||||
)
|
||||
stats_map = {
|
||||
1: "brutality",
|
||||
2: "survival",
|
||||
3: "minotaur",
|
||||
4: "tactics",
|
||||
5: "assassin",
|
||||
6: "guardian",
|
||||
}
|
||||
return {
|
||||
"title": name,
|
||||
"icon": base64.b64encode(weapon.icon),
|
||||
"mechanism": mechanism,
|
||||
"description": weapon.description,
|
||||
"stats": stats_map[weapon.stats]
|
||||
}
|
||||
|
||||
|
||||
@route("/static/<filepath:path>")
|
||||
def server_static(filepath):
|
||||
return static_file(filepath, root="./static")
|
||||
|
||||
|
||||
run(host="localhost", port=8080)
|
Loading…
Add table
Add a link
Reference in a new issue