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
Search