from .cooccorrenze import cooccorrenze from .contexts import contexts def handleGetOccurrences(queryList, cooccorrenzeObj, dataConfig): queryHandler = cooccorrenze(dataConfig) res = [] if len(queryList)==1: query = queryList[0] text = query['stringa'] espansa = int(query['espansa']) raddoppiata = int(query['raddoppiata']) if text.strip()!="": res += queryHandler.sendBasicQuery(text, query['tipo'], espansa, raddoppiata) elif len(queryList)>1: intervallo = int(cooccorrenzeObj['distanza']) periodo = int(cooccorrenzeObj['stesso_periodo']) ordinate = int(cooccorrenzeObj['ordinate']) listaricerche = [[query['stringa'], occQueryTypesDict[query['tipo']], int(query['espansa']), int(query['raddoppiata'])] for query in queryList if query['stringa'].strip()!=""] res = queryHandler.ricerca_cooccorrenze(listaricerche, intervallo, periodo, ordinate) return res #Funzione per il recupero dei contesti multipli def handleGetContexts(queryList, listResults, dataConfig): queryHandler = contexts(dataConfig) query = queryList[0] tipo = occQueryTypesDict[query['tipo']] res = queryHandler.contestimultipli(tipo, listResults) return res #Funzione da sistemare per il recupero dei contesti singoli def handleGetSingleContext(elem, paramObj, dataConfig): queryHandler = contexts(dataConfig) indice = 0 parole = int(paramObj['parole']) periodi = int(paramObj['periodi']) brani = int(paramObj['brani']) res = queryHandler.contestosingolo(elem, indice, parole, periodi, brani) return res # Dict: occurrence query type <=> code occQueryTypesDict = { 'forma': 0, 'formaLemma': 0, 'lemmaForma': 2, 'soloLemmatizzate': 1, 'lemma': 2 }