Default /find to rich text response, as we assume human interaction.

This commit is contained in:
2023-06-02 10:00:52 -07:00
parent d33d95b6c1
commit 6f8166f608
+13 -6
View File
@@ -203,6 +203,12 @@ def ref_parse_book(ref):
@app.get("/find")
def parse_query(query_override:str = None):
query = request.args.get("kw", None)
# /find should always return human readable (rich) but some users may try
# to use it with other view arguments, we can try to support that.
if not request.args.get("view", False):
human_readable = True
else:
human_readable = False
if query_override:
query = query_override
if query:
@@ -212,7 +218,7 @@ def parse_query(query_override:str = None):
return send_file("html/find.html")
if query.endswith(","):
query = query[:-1]
result = show(kw=query)
result = show(kw=query, human_readable=human_readable)
if not hasattr(result, "__len__"):
logging.debug(f"parse_query.show = '{result}'")
return result
@@ -292,7 +298,7 @@ def return_dict_rich(ref, defs, simple):
+ css
)
@app.get("/show")
def show(kw=None, get_start_verse_id=False):
def show(kw=None, get_start_verse_id=False, human_readable=False):
ref = request.args.get("kw", None)
get_chapter: bool = request.args.get("all", False)
if ref.endswith(","):
@@ -352,11 +358,11 @@ def show(kw=None, get_start_verse_id=False):
logging.debug(f"show.results({results})")
for result in results:
verse_results.append(result)
response_list = scripture_response(verse_results)
response_list = scripture_response(verse_results, human_readable)
arg_view = request.args.get("view", None)
if arg_view == "plain":
response = "<br>".join(response_list)
elif arg_view == "rich":
elif arg_view == "rich" or human_readable:
response = "<br>".join(response_list)
else:
response = jsonify(response_list)
@@ -386,14 +392,14 @@ def response_rich(scripture):
return cached["html_response"].format(
chapter=passage.split(":")[0], passage=passage, text=text
)
def scripture_response(scriptures):
def scripture_response(scriptures, human_readable=False):
response = []
arg_view = request.args.get("view", "json")
logging.debug(f"search ->requested_format = {arg_view}")
if arg_view == "plain":
for scripture in scriptures:
response.append(response_text(scripture))
elif arg_view == "rich":
elif arg_view == "rich" or human_readable:
l_r_nav = get_next_prev_chapter(
str(scriptures[0][0])
) # get the first scripture, the id thereof
@@ -406,6 +412,7 @@ def scripture_response(scriptures):
next_chapter_link=l_r_nav["next_chapter_link"],
prev_chapter_name=l_r_nav["prev_chapter_name"],
prev_chapter_link=l_r_nav["prev_chapter_link"],
)
)