def omw_wns(name=None): src_meta = fetch_src_meta() stats = [] lang_id, lang_code = fetch_langs() ### sort by language name (1), id, version (FIXME -- reverse version) for src_id in sorted( src_meta, key=lambda x: (lang_id[lang_code['code'][src_meta[x]['language']]][1], src_meta[ x]['id'], src_meta[x]['version'])): stats.append((src_meta[src_id], fetch_src_id_stats(src_id))) return render_template('omw_wns.html', stats=stats, lang_id=lang_id, lang_code=lang_code, licenses=licenses)
def concepts_omw(ssID=None, iliID=None): if iliID: ss_ids = f_ss_id_by_ili_id(iliID) ili, ilidefs = fetch_ili([iliID]) else: ss_ids = [ssID] ili, ili_defs = dict(), dict() pos = fetch_pos() langs_id, langs_code = fetch_langs() ss, senses, defs, exes, links = fetch_ss_basic(ss_ids) if (not iliID) and int(ssID) in ss: iliID = ss[int(ssID)][0] ili, ilidefs = fetch_ili([iliID]) sss = list(ss.keys()) for s in links: for l in links[s]: sss.extend(links[s][l]) selected_lang = request.cookies.get('selected_lang') labels = fetch_labels(selected_lang, set(sss)) ssrels = fetch_ssrel() ss_srcs = fetch_src_for_ss_id(ss_ids) src_meta = fetch_src_meta() core_ss, core_ili = fetch_core() return render_template( 'omw_concept.html', ssID=ssID, iliID=iliID, pos=pos, langs=langs_id, senses=senses, ss=ss, links=links, ssrels=ssrels, defs=defs, exes=exes, ili=ili, selected_lang=selected_lang, selected_lang2=request.cookies.get('selected_lang2'), labels=labels, ss_srcs=ss_srcs, src_meta=src_meta, core=core_ss)
def omw_welcome(name=None): lang_id, lang_code = fetch_langs() src_meta = fetch_src_meta() ### sort by language, project version (Newest first) src_sort = od() keys = list(src_meta.keys()) keys.sort(key=lambda x: src_meta[x]['version'], reverse=True) keys.sort(key=lambda x: src_meta[x]['id']) keys.sort(key=lambda x: lang_id[lang_code['code'][src_meta[x][ 'language']]][1]) for k in keys: src_sort[k] = src_meta[k] return render_template('omw_welcome.html', src_meta=src_sort, lang_id=lang_id, lang_code=lang_code, licenses=licenses)
def omw_sense(sID=None): langs_id, langs_code = fetch_langs() pos = fetch_pos() sense = fetch_sense(sID) forms = fetch_forms(sense[3]) selected_lang = request.cookies.get('selected_lang') labels = fetch_labels(selected_lang, [sense[4]]) src_meta = fetch_src_meta() src_sid = fetch_src_for_s_id([sID]) return render_template('omw_sense.html', s_id=sID, sense=sense, forms=forms, langs=langs_id, pos=pos, labels=labels, src_sid=src_sid, src_meta=src_meta)
def search_omw(lang=None, lang2=None, q=None): if lang and q: lang_id = lang lang_id2 = lang2 query = q else: lang_id = request.form['lang'] lang_id2 = request.form['lang2'] query = request.form['query'] query = query.strip() sense = dd(list) lang_sense = dd(lambda: dd(list)) # GO FROM FORM TO SENSE for s in query_omw( """ SELECT s.id as s_id, ss_id, wid, fid, lang_id, pos_id, lemma FROM (SELECT w_id as wid, form.id as fid, lang_id, pos_id, lemma FROM (SELECT id, lang_id, pos_id, lemma FROM f WHERE lemma GLOB ? AND lang_id in (?,?)) as form JOIN wf_link ON form.id = wf_link.f_id) word JOIN s ON wid=w_id """, [ '[' + query[0].upper() + query[0].lower() + ']' + query[1:], lang_id, lang_id2 ]): sense[s['ss_id']] = [ s['s_id'], s['wid'], s['fid'], s['lang_id'], s['pos_id'], s['lemma'] ] lang_sense[s['lang_id']][s['ss_id']] = [ s['s_id'], s['wid'], s['fid'], s['pos_id'], s['lemma'] ] pos = fetch_pos() lang_dct, lang_code = fetch_langs() ss, senses, defs, exes, links = fetch_ss_basic(sense.keys()) labels = fetch_labels(lang_id, set(senses.keys())) resp = make_response( render_template('omw_results.html', langsel=int(lang_id), langsel2=int(lang_id2), pos=pos, lang_dct=lang_dct, sense=sense, senses=senses, ss=ss, links=links, defs=defs, exes=exes, labels=labels)) resp.set_cookie('selected_lang', lang_id) resp.set_cookie('selected_lang2', lang_id2) return resp
def langadmin(): lang_id, lang_code = fetch_langs() return render_template("langadmin.html", langs=lang_id)