コード例 #1
0
 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)
コード例 #2
0
    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)
コード例 #3
0
 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)
コード例 #4
0
 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)
コード例 #5
0
    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
コード例 #6
0
 def langadmin():
     lang_id, lang_code = fetch_langs()
     return render_template("langadmin.html", langs=lang_id)