from pyodide.http import open_url from collections import defaultdict import json def write_to_page(): manual_div = Element("output") search = Element("search").element.value search = search.lower().replace("ç","c").replace("ö","o").replace("ğ","g") search = search.replace("ı","i").replace("ü","u").replace("ş","s") stok = search.split() stok_hits = {} results = [] base_url = "https://burakbayramli.github.io" for tok in stok: url = base_url + '/idx/invidx-%s.json' % tok[0] df = open_url(url) letter_dict = json.loads(df.getvalue()) if tok in letter_dict: stok_hits[tok] = letter_dict[tok] results.append(set(letter_dict[tok])) u = set([]) if len(results) > 0: u = set.intersection(*results) hits = [] for f in u: hits.append([f,sum([stok_hits[tok][f] for tok in stok])]) sorted_hits = sorted(range(len(hits)), key=lambda x: hits[x][1], reverse=True) out = "" s1 = '

%s

' N = min(20,len(hits)) for i in range(N): out = out + s1 + base_url + \ str(hits[sorted_hits[i]][0]).replace(".md",".html") + s2 % str(hits[sorted_hits[i]][0]) if len(out) == 0: out = "No Results" manual_div.element.innerHTML = out