101 lines
5.1 KiB
Python
101 lines
5.1 KiB
Python
from browser import window
|
|
|
|
TAGS = {
|
|
"podrocje": ["administracija", "antropologija", "arheologija", "arhitektura", "astrologija", "astronomija", "avtomobilizem", "biblično", "bibliotekarstvo", "biologija", "-- anatomija", "-- biokemija", "-- botanika", "-- paleontologija", "-- zoologija", "ekonomija", "-- industrija", "-- ribištvo", "-- rudarstvo", "-- šolstvo", "-- trgovina", "-- turizem", "-- zdravstvo", "-- metalurgija", "-- živilska industrija", "elektrika", "elektronika", "filozofija", "finance", "fizika", "fotografija", "geografija", "-- ekologija", "-- geologija", "-- geodezija", "-- meteorologija", "-- mineralogija", "-- petrografija", "glasba", "gradbeništvo", "heraldika", "jezikoslovje", "kemija", "kmetijstvo", "-- čebelarstvo", "-- gozdarstvo", "-- poljedelstvo", "-- sadjarstvo", "-- vinogradništvo", "-- vrtnarstvo", "konjeništvo", "kulinarika", "letalstvo", "literarna teorija", "-- književnost", "-- pesništvo", "lovstvo", "matematika", "-- geometrija", "-- statistika", "medicina", "mehanika", "mitologija", "moda", "obrtništvo", "-- čevljarstvo", "-- dimnikarstvo", "-- kamnoseštvo", "-- mizarstvo", "-- optika", "oglaševanje", "politika", "pomorstvo", "pošta", "pravo", "psihologija", "računalništvo", "religija", "sociologija", "šport", "tekstil", "telekomunikacije", "-- radiotelevizija", "-- radio", "-- telefonija", "-- televizija", "tiskarstvo", "transport", "-- cestni promet", "-- tovorni promet", "-- zračni promet", "-- železnica", "umetnost", "uprizoritvene umetnosti", "-- film", "-- gledališče", "-- ples", "-- balet", "veterina", "vojska", "zavarovalništvo", "zgodovina"],
|
|
"stilne": ["registrske", "-- narečno", "-- sleng", "-- v otroškem govoru", "-- neformalno", "-- formalno", "-- v jeziku mladih", "-- v govoru", "-- v pogovoru", "-- nenevtralno", "-- v splošni rabi", "konotacijske", "-- šaljivo", "-- ironično", "-- vulgarno", "-- slabšalno", "-- žaljivo", "-- grobo", "-- ljubkovalno", "pragmatične", "-- pregovor", "-- kot pozdrav", "-- kot kletvica", "-- kot žaljivka", "-- kot gesta", "-- kot grožnja", "-- kot nagovor", "-- kot nasvet", "-- kot navodilo", "-- kot opozorilo", "časovne", "-- starinsko", "-- nekdaj"],
|
|
"slovnične": ["v pridevniški rabi", "v primerniku", "v presežniku", "v samostalniški rabi", "v ednini", "v dvojini", "v množini", "števno", "neštevno", "v 3. osebi", "v velelniku", "z veliko začetnico"],
|
|
"skupne": ["tudi", "predvsem", "običajno", "včasih", "redko"],
|
|
"latinsko": [],
|
|
"razmerje": ["približek", "sinonim", "antonim"],
|
|
"semantično": [],
|
|
"English-full": []
|
|
}
|
|
|
|
SLO2ENG_TAGS = {
|
|
"podrocje": "domain",
|
|
"stilne-časovne": "style-time",
|
|
"stilne-registrske": "style-register",
|
|
"stilne-konotacijske": "style-connotation",
|
|
"stilne-pragmatične": "style-pragmatics",
|
|
"slovnične": "grammar",
|
|
"skupne": "general",
|
|
"latinsko": "latin",
|
|
"razmerje": "relation",
|
|
"semantično": "semantic",
|
|
"English-full": "Polno angleško"
|
|
}
|
|
|
|
ENG2SLO_TAGS = { value: key for key, value in SLO2ENG_TAGS.items() }
|
|
|
|
STYLE_SECTIONS = [("registrske", "register"),
|
|
("konotacijske", "connotation"),
|
|
("pragmatične", "pragmatics"),
|
|
("časovne", "time")]
|
|
|
|
|
|
def import_label_list(selector, xml_element):
|
|
result = []
|
|
for tag_xml in xml_element.querySelectorAll(selector):
|
|
t_type = tag_xml.getAttribute("type")
|
|
t_value = tag_xml.textContent
|
|
|
|
t_type, t_value = import_tag(t_type, t_value)
|
|
result.append((t_type, t_value))
|
|
return result
|
|
|
|
|
|
def import_tag(key, value):
|
|
# converts tag from input xml to what we need in the editor
|
|
# if slovene, than some old values apparantly, just import as is
|
|
# simmilar for "stilne"
|
|
# if english, than translate and change style-xxx for stilne
|
|
# for value, just handle if some bad "-- xxx" stuff is in xml
|
|
|
|
if key in SLO2ENG_TAGS:
|
|
pass
|
|
elif key in ("stilne", "style"):
|
|
key = "stilne"
|
|
elif key in ENG2SLO_TAGS:
|
|
key = ENG2SLO_TAGS[key]
|
|
|
|
# handle stilne-xxx stuff
|
|
if "-" in key:
|
|
key = key.split("-")[0]
|
|
else:
|
|
window.console.log("Uknown tag :(", key, value)
|
|
# using some default
|
|
key = TAGS.keys()[0]
|
|
|
|
# this should not happen, but maybe there was a bug...
|
|
value = value.replace("--", "").strip()
|
|
|
|
for tag_key in TAGS.keys():
|
|
for possible_value in TAGS[tag_key]:
|
|
if value == possible_value or "-- " + value == possible_value:
|
|
return key, possible_value
|
|
|
|
# not found, must be manually inputted
|
|
return key, value
|
|
|
|
|
|
def export_tag(key, value):
|
|
if key == "stilne":
|
|
arr = TAGS["stilne"]
|
|
key = "style"
|
|
value_idx = arr.index(value)
|
|
|
|
if value_idx >= 0:
|
|
for sec_slo, sec_eng in reversed(STYLE_SECTIONS):
|
|
idx = arr.index(sec_slo)
|
|
if idx < value_idx:
|
|
key = "style-" + sec_eng
|
|
break
|
|
|
|
else:
|
|
key = SLO2ENG_TAGS[key]
|
|
|
|
value = value.replace("--", "").strip()
|
|
return key, value
|
|
|
|
|