diff --git a/app.py b/app.py index d48daf5..9e9f7b5 100644 --- a/app.py +++ b/app.py @@ -116,6 +116,8 @@ def get_verse_id(book_id, chapter, verse): # verse_id is 00000000 (00 000 000) (book + chapter + verse) chapterid = chapter.zfill(3) verseid = verse.zfill(3) + if verseid == "000": + verseid = "001" # Avoid verse_ids list IndexErrors on :- searches return str(book_id) + chapterid + verseid @@ -502,19 +504,20 @@ def sequential_read(start=0, num=1, uid=None, getuid=False): num = int(request.args.get("num", num)) except ValueError: return "Invalid num argument" - if not uid or not getuid: + if not uid and not getuid: return send_file("html/seq.html") seq_conn = sqlite3.connect("data/seq.db") seq_cur = seq_conn.cursor() last_used = str(datetime.now()) num -= 1 # 0 will mean "next" if num < 0: - return jsonify({"error":"You may only increment forward."}) + return jsonify({"error": "You may only increment forward."}) if getuid: import uuid if start: + start = verse_ids.index(int(show(kw=start, get_start_verse_id=True))) uid = str(uuid.uuid4()) seq_cur.execute( @@ -533,7 +536,7 @@ def sequential_read(start=0, num=1, uid=None, getuid=False): dbg2("Queried UID {} on verse {}".format(uid, nextverse)) except TypeError: dbg2("Invalid UID {}".format(uid)) - return jsonify({"error":"UID Invalid or purged"}) + return jsonify({"error": "UID Invalid or purged"}) if len(verse_ids) < (nextverse + num): # Correct our range to go to ceiling to prevent IndexError diff = len(verse_ids) - (nextverse + num)