1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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
|