about summary refs log tree commit diff
diff options
context:
space:
mode:
authorZach DeCook <zachdecook@librem.one>2026-05-22 15:48:12 -0400
committerZach DeCook <zachdecook@librem.one>2026-05-22 15:49:33 -0400
commit7d8613f6ea7192d5370d1432c4b9eae45cb0ba62 (patch)
tree62054bd26dda7477dbf0972a3b7a02db3c71f6ec
parent2cf9b651865407cdc2e478f941db1782af5ca539 (diff)
downloadcgi-bin-master.tar.gz
bsb.py: Fix choosing book HEAD master
-rwxr-xr-xbsb.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/bsb.py b/bsb.py
index 9dcae5c..6ebc516 100755
--- a/bsb.py
+++ b/bsb.py
@@ -20,6 +20,14 @@ def main(qs):
     return
   print("20 text/gemini\r\n")
   printbsb(passages)
+
+def filename2book(filename):
+    parsed = parse_string(filename[:3])[1]
+    # It was an error. Return a bad index so this doesn't crash (yet)
+    if type(parsed) == tuple:
+        return -1
+    return parsed.start.book
+
 def printbsb(passages, title=True, plug=True):
   if plug:
     print('=> https://berean.bible/ This content from Berean Standard Bible (public domain)')
@@ -27,8 +35,9 @@ def printbsb(passages, title=True, plug=True):
   for passage in passages:
     printing = 0
     inendc = False
-    books=sco(["ls", "bsb/"]).strip().split(b"\n")
-    fname=b"bsb/"+books[passage.start.book - 1]
+    books=sco(["ls", "bsb/"]).decode('utf-8').strip().split("\n")
+    bookmap={filename2book(filename): filename for filename in books}
+    fname="bsb/"+bookmap[passage.start.book]
     if title:
       print("# " + passage.format())
     f = open(fname)