diff options
author | B. Stack <bgstack15@gmail.com> | 2024-07-10 23:07:49 -0400 |
---|---|---|
committer | B. Stack <bgstack15@gmail.com> | 2024-07-10 23:07:49 -0400 |
commit | 684b84c78cf65c767ffcf077ed7f89106a1acf26 (patch) | |
tree | 7a6a256f76ef239f5374d63ed5e43ac1e1eefd13 /library_info_cli.py | |
parent | prepare for reservations (diff) | |
download | library-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-x | library_info_cli.py | 37 |
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}.") |