from .cooccorrenze import cooccorrenze from .basic_queries import basicQueries def handleOccGetQuery(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'], tempDecode(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 handleGetContext(queryList, listResults, dataConfig): #res = [] #return {"error": "Hey, I'm not implemented yet"} queryHandler = basicQueries(dataConfig) query = queryList[0] tipo = tempDecode(query['tipo']) res = queryHandler.contestimultipli(tipo, listResults) return res #Funzione da sistemare per il recupero dei contesti singoli def handleSingleContext(elem, paramObj, dataConfig): queryHandler = basicQueries(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 #Funzione di decodifica def tempDecode(stringa): if stringa=='forma': return 0 elif stringa=='formaLemma': return 0 elif stringa=='lemmaForma': return 2 elif stringa=='soloLemmatizzate': return 1 elif stringa=='lemma': return 2 else: return None