diff --git a/app.py b/app.py index fd4dcfc..aa97fad 100644 --- a/app.py +++ b/app.py @@ -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 = "
".join(response_list) - elif arg_view == "rich": + elif arg_view == "rich" or human_readable: response = "
".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"], + ) )