queries album info and puts it in jinja expressions
This commit is contained in:
parent
fddc6a9823
commit
6880b57844
@ -1,11 +1,12 @@
|
|||||||
import sqlite3
|
import sqlite3
|
||||||
import jinja2
|
import jinja2
|
||||||
import os
|
import os
|
||||||
|
import shutil
|
||||||
|
|
||||||
for dirname in [
|
for dirname in [
|
||||||
"public/song",
|
"public/song",
|
||||||
"public/motif",
|
"public/motif",
|
||||||
"public/album",
|
"public/album"
|
||||||
]:
|
]:
|
||||||
os.makedirs(dirname, exist_ok=True)
|
os.makedirs(dirname, exist_ok=True)
|
||||||
|
|
||||||
@ -14,21 +15,40 @@ songplate = environment.get_template("songpage.jinja")
|
|||||||
|
|
||||||
db = sqlite3.connect("file:songbook.sqlite?mode=ro", uri=True)
|
db = sqlite3.connect("file:songbook.sqlite?mode=ro", uri=True)
|
||||||
|
|
||||||
|
# generate song pages
|
||||||
|
|
||||||
for song in db.execute("SELECT name FROM song"):
|
for id, name, name_jp in db.execute('''
|
||||||
filename = f"public/song/{song[0]}"
|
select
|
||||||
|
id, name, name_jp
|
||||||
|
from
|
||||||
|
song
|
||||||
|
'''):
|
||||||
|
|
||||||
|
# query album info
|
||||||
|
|
||||||
|
album_info = db.execute('''
|
||||||
|
select
|
||||||
|
album_id, track, album.name, album.code
|
||||||
|
from
|
||||||
|
song_album
|
||||||
|
join
|
||||||
|
album
|
||||||
|
on
|
||||||
|
song_album.album_id=album.id
|
||||||
|
where
|
||||||
|
song_id = ?
|
||||||
|
''',
|
||||||
|
(id,)
|
||||||
|
).fetchall()
|
||||||
|
|
||||||
|
print(album_info)
|
||||||
|
|
||||||
|
filename = f"public/song/{id:04}"
|
||||||
content = songplate.render(
|
content = songplate.render(
|
||||||
songname=song[0],
|
name=name,
|
||||||
clips=()
|
id=id,
|
||||||
|
album_info=album_info
|
||||||
)
|
)
|
||||||
with open(filename, mode="w") as file:
|
with open(filename, mode="w") as file:
|
||||||
file.write(content)
|
file.write(content)
|
||||||
print(f"... wrote {filename}")
|
print(f"... wrote {filename}")
|
||||||
|
|
||||||
# template = environment.from_string("Now Playing: {{ song }}")
|
|
||||||
# for songname in songnames:
|
|
||||||
# print(
|
|
||||||
# template.render(
|
|
||||||
# song=songname[0]
|
|
||||||
# )
|
|
||||||
# )
|
|
||||||
2
deploy.sh
Executable file
2
deploy.sh
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
sudo rm -r /var/www/eorzea-songbook
|
||||||
|
sudo cp -r public/ /var/www/eorzea-songbook
|
||||||
@ -7,7 +7,15 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<h1>Now Playing: {{ songname }}</h1>
|
<h1>Now Playing: {{ id }}. {{ name }} ({% for _, _, _, album_code in album_info %}{{ album_code }}{% if not loop.last %}, {% endif %}{% endfor %})
|
||||||
|
</h1>
|
||||||
|
<p>Artist: </p>
|
||||||
|
<p>Album: </p>
|
||||||
|
<ul>
|
||||||
|
{% for album_id, track, album_name, album_code in album_info %}
|
||||||
|
<li>{{ album_name }} #{{ track }}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
<p>Clips: </p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user