mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-10-31 10:42:43 +00:00 
			
		
		
		
	Add neww result recieving
This commit is contained in:
		| @@ -59,9 +59,9 @@ class Subcorpus: | ||||
|         for match_start, match_end in match_boundaries: | ||||
|             left_start = max(0, match_start - context) | ||||
|             right_end = min(self.parent_corpus.size, (match_end + 1 + context)) | ||||
|             matches.append({'left': list(range(left_start, match_start)), | ||||
|             matches.append({'lc': list(range(left_start, match_start)), | ||||
|                             'hit': list(range(match_start, match_end + 1)), | ||||
|                             'right': list(range(match_end + 1, right_end))}) | ||||
|                             'rc': list(range(match_end + 1, right_end))}) | ||||
|         cpos_list = [] | ||||
|         for match in matches: | ||||
|             cpos_list += match['lc'] + match['hit'] + match['rc'] | ||||
|   | ||||
| @@ -50,14 +50,21 @@ def corpus_analysis_query(query): | ||||
|         context = 100 | ||||
|         progress = 0 | ||||
|         while chunk_start <= results.size: | ||||
|             logger.warning("test") | ||||
|             chunk = results.dump_values(context=context, | ||||
|                                         first_result=chunk_start, | ||||
|                                         num_results=chunk_size) | ||||
|             progress = ((chunk_start + chunk_size) / results.size) * 100 | ||||
|             progress = min(100, int(math.ceil(progress))) | ||||
|             logger.warning(chunk) | ||||
|             if (results.size == 0): | ||||
|                 progress = 100 | ||||
|             else: | ||||
|                 progress = ((chunk_start + chunk_size) / results.size) * 100 | ||||
|                 progress = min(100, int(math.ceil(progress))) | ||||
|             socketio.emit('corpus_analysis_query', | ||||
|                           {'chunk': chunk, 'progress': progress, | ||||
|                            'num_matches_total': results.size}, | ||||
|                           {'chunk': chunk, | ||||
|                            'progress': progress, | ||||
|                            'num_matches_total': results.size, | ||||
|                            'code': 0}, | ||||
|                           room=request.sid) | ||||
|             chunk_start += chunk_size | ||||
|  | ||||
|   | ||||
| @@ -32,13 +32,13 @@ function sendQuery(event) { | ||||
|   // full results object declaration, global declaration! | ||||
|   // will always be reset if a query is sent, so that only the chunks of the | ||||
|   // current query will be saved in it | ||||
|   result = {}; | ||||
|   result["matches"] = []; | ||||
|   result["cpos_lookup"] = {}; | ||||
|   result["text_lookup"] = {}; | ||||
|   result["loaded_match_count"] = 0; | ||||
|   result["match_count"] = 0; | ||||
|   result["query"] = ""; | ||||
|   result = {};  // full JSON object holding match results | ||||
|   result["matches"] = [];  // list of all amtches with lc and rc | ||||
|   result["cpos_lookup"] = {};  // object contains all cpos as key value pair | ||||
|   result["text_lookup"] = {};  // same as above for all text ids | ||||
|   result["loaded_match_count"] = 0;  // how many matches have been recieved | ||||
|   result["num_matches_total"];  // how many should have been recieved/total nr | ||||
|   result["query"] = "";  // the query as a string | ||||
|   // some hiding/showing for loading animation | ||||
|   queryLoadingElement.classList.remove("hide"); | ||||
|   queryResultsTableElement.classList.add("hide"); | ||||
| @@ -97,7 +97,7 @@ function recieveResults(response) { | ||||
|     return; // no further code execution of this code block | ||||
|   } | ||||
|   // logs the current recieved chunk | ||||
|   chunk = response["result"]; | ||||
|   chunk = response["chunk"]; | ||||
|   //chunk = response["chunk"]; | ||||
|   console.log("### corpus_analysis chunk ###"); | ||||
|   console.log(chunk); | ||||
| @@ -107,7 +107,7 @@ function recieveResults(response) { | ||||
|   result["matches"].push(...chunk["matches"]); | ||||
|   Object.assign(result["cpos_lookup"], chunk["cpos_lookup"]); | ||||
|   Object.assign(result["text_lookup"], chunk["text_lookup"]); | ||||
|   result["match_count"] = chunk["match_count"]; | ||||
|   result["num_matches_total"] = response["num_matches_total"]; | ||||
|   //result["match_count"] = response["match_count"]; | ||||
|   console.log("Before Current match count", result["loaded_match_count"]); | ||||
|   queryData = getQueryData(queryFormElement); | ||||
| @@ -120,6 +120,7 @@ function recieveResults(response) { | ||||
|   queryResultsElement.innerHTML = ""; | ||||
|  | ||||
|   // check if query has any results | ||||
|   console.log("CHUNKLENGTH", chunk["matches"].length); | ||||
|   if (chunk["matches"].length === 0) { | ||||
|     queryResultsTableElement.classList.add("hide"); | ||||
|     nopaque.toast("No results for this query!"); | ||||
| @@ -144,13 +145,13 @@ function recieveResults(response) { | ||||
|   result["loaded_match_count"] += Object.keys(chunk["matches"]).length; | ||||
|   console.log("After current match count", result["loaded_match_count"]); | ||||
|   queryResultsMetadataElement = document.getElementById("query-results-metadata"); | ||||
|   queryResultsMetadataElement.innerHTML = `<p>The query resulted in a total of ${chunk["match_count"]} matches. </p> <p> ${result["loaded_match_count"]} of ${result["match_count"]} matches in ${countCorpusFiles} corpus files have been loaded.</p><p><i class="material-icons" id="tooltip-info">help</i>The Server is still sending your results. Functions like "Export Results" and "Match Inspect" will be available after all matches have been loaded.</p>`; | ||||
|   queryResultsMetadataElement.innerHTML = `<p>The query resulted in a total of ${result["num_matches_total"]} matches. </p> <p> ${result["loaded_match_count"]} of ${result["num_matches_total"]} matches in ${countCorpusFiles} corpus files have been loaded.</p><p><i class="material-icons" id="tooltip-info">help</i>The Server is still sending your results. Functions like "Export Results" and "Match Inspect" will be available after all matches have been loaded.</p>`; | ||||
|   queryResultsInteractionElement = document.getElementById("interaction-elements"); | ||||
|   queryResultsInteractionElement.appendChild(exportQueryResultsElement); | ||||
|   queryResultsHeadElement = document.getElementById("query-results-head"); | ||||
|   queryResultsHeadElement.classList.remove("hide"); | ||||
|   queryStatus = result["loaded_match_count"] / result["match_count"] * 100; | ||||
|   console.log(queryStatus); | ||||
|   queryStatus = response["progress"]; | ||||
|   console.log("QUERY STATUS:", queryStatus); | ||||
|   queryResultsDeterminateElement.style["width"] = `${queryStatus}%`; | ||||
|   console.log(queryResultsDeterminateElement.style["width"]); | ||||
|  | ||||
| @@ -160,7 +161,7 @@ function recieveResults(response) { | ||||
|     queryFinished = true; // global declaration to set downlaod button and inspects buttons back to disabled for new queries | ||||
|     queryResultsDeterminateElement.parentNode.parentNode.classList.add("hide"); | ||||
|     exportQueryResultsElement.classList.remove("disabled"); | ||||
|     queryResultsMetadataElement.innerHTML = `<p>The query resulted in a total of ${chunk["match_count"]} matches. </p> <p> ${result["loaded_match_count"]} of ${result["match_count"]} matches in ${countCorpusFiles} corpus files have been loaded.<i class="material-icons">check_circle</i></p>`; | ||||
|     queryResultsMetadataElement.innerHTML = `<p>The query resulted in a total of ${result["num_matches_total"]} matches. </p> <p> ${result["loaded_match_count"]} of ${result["num_matches_total"]} matches in ${countCorpusFiles} corpus files have been loaded.<i class="material-icons">check_circle</i></p>`; | ||||
|     activateInspect(); | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user