aboutsummaryrefslogtreecommitdiff
path: root/library_info_cli.py
diff options
context:
space:
mode:
authorB. Stack <bgstack15@gmail.com>2024-07-10 23:07:49 -0400
committerB. Stack <bgstack15@gmail.com>2024-07-10 23:07:49 -0400
commit684b84c78cf65c767ffcf077ed7f89106a1acf26 (patch)
tree7a6a256f76ef239f5374d63ed5e43ac1e1eefd13 /library_info_cli.py
parentprepare for reservations (diff)
downloadlibrary-info-684b84c78cf65c767ffcf077ed7f89106a1acf26.tar.gz
library-info-684b84c78cf65c767ffcf077ed7f89106a1acf26.tar.bz2
library-info-684b84c78cf65c767ffcf077ed7f89106a1acf26.zip
use reservations in all get_ calls
Diffstat (limited to 'library_info_cli.py')
-rwxr-xr-xlibrary_info_cli.py37
1 files changed, 31 insertions, 6 deletions
diff --git a/library_info_cli.py b/library_info_cli.py
index b77e9f4..7dfd640 100755
--- a/library_info_cli.py
+++ b/library_info_cli.py
@@ -61,7 +61,7 @@ def serialize(item):
eprint(f"WARNING: unknown type {type(item)} for json-serializing object {item}")
return item
-def html(checkouts):
+def html(checkouts, reservations):
# Uses https://datatables.net/download/builder?dt/jq-3.7.0/dt-2.0.8/cr-2.0.3/fh-4.0.1
# with css corrected by having the utf-8 line at the top of the .min.css file.
""" Make an html of the items """
@@ -115,6 +115,28 @@ def html(checkouts):
prn(f"</table>\n")
else:
prn(f"No checkouts.\n")
+ prn("<h2>Reservations</h2>\n")
+ if len(reservations):
+ prn(f"<table class='display' id='reservations'>\n")
+ prn(f"<thead><tr><th>Date placed</th><th>location</th><th>position</th><th>status</th><th>cover</th><th>title</th></thead>\n")
+ prn("<tbody>\n")
+ for i in reservations:
+ prn(f"<tr>")
+ prn(f"<td>{i['date_placed']}</td>")
+ prn(f"<td>{i['location']}</td>")
+ prn(f"<td>{i['position']}</td>")
+ prn(f"<td>{i['status']}</td>")
+ if "img" in i:
+ img_src = i["img"]
+ else:
+ img_src = ""
+ prn(f"<td><img class='thumb' src='data:{i['img_type']};base64, {img_src}' /></td>")
+ prn(f"<td>{i['title']}</td>")
+ prn(f"</tr>\n")
+ prn(f"</tbody>\n")
+ prn(f"</table>\n")
+ else:
+ prn("No reservations.\n")
prn(f"</body>\n")
prn(f"<footer>\n")
prn(f"</footer>\n")
@@ -124,8 +146,10 @@ def html(checkouts):
prn("""
<script>$(document).ready(
function () {
- var table = $('#checkouts').DataTable({paging: false});
- table.column('2:visible').order('asc').draw();
+ var table1 = $('#checkouts').DataTable({paging: false});
+ table1.column('2:visible').order('asc').draw();
+ var table2 = $('#reservations').DataTable({paging: false});
+ table2.column('0:visible').order('desc').draw();
}
);</script>
""")
@@ -135,14 +159,15 @@ if "__main__" == __name__:
if debuglevel >= 1:
eprint(args)
if single:
- checkouts = library_info_lib.get_single_checkouts(alias = single, full_images = full_images, verbose = debuglevel >= 5)
+ checkouts, reservations = library_info_lib.get_single_configitem(alias = single, full_images = full_images, verbose = debuglevel >= 5)
else:
- checkouts = library_info_lib.get_all_checkouts(full_images = full_images, verbose = debuglevel >= 5)
+ checkouts, reservations = library_info_lib.get_all_configitems(full_images = full_images, verbose = debuglevel >= 5)
if "raw" == output:
print(checkouts)
+ print(reservations)
elif "json" == output:
print(json.dumps(checkouts,default=serialize))
elif "html" == output:
- html(checkouts)
+ html(checkouts, reservations)
else:
print(f"Error! Invalid choice for output format {output}.")
bgstack15