diff --git a/evopedia-html5/WebContent/evopedia.html b/evopedia-html5/WebContent/evopedia.html index 7c47ccf0..d0200b8a 100644 --- a/evopedia-html5/WebContent/evopedia.html +++ b/evopedia-html5/WebContent/evopedia.html @@ -60,7 +60,6 @@ Length :
 

- diff --git a/evopedia-html5/WebContent/evopedia.js b/evopedia-html5/WebContent/evopedia.js index 0aa6b5e1..05474336 100644 --- a/evopedia-html5/WebContent/evopedia.js +++ b/evopedia-html5/WebContent/evopedia.js @@ -22,12 +22,11 @@ License: . */ + var dataFiles=document.getElementById('dataFiles').files; var titleFile=document.getElementById('titleFile').files[0]; var storage = navigator.getDeviceStorage('music'); -//alert(storage); - if (!storage) { //alert("no device storage available"); document.getElementById('openLocalFiles').style.visibility="visible"; @@ -36,15 +35,11 @@ if (!storage) { } else { var filerequest = storage.get('wikipedia_small_2010-08-14/wikipedia_00.dat'); - //alert(filerequest); filerequest.onsuccess = function() { dataFiles[0] = filerequest.result; - //alert(dataFiles); filerequest = storage.get('wikipedia_small_2010-08-14/titles.idx'); filerequest.onsuccess = function() { titleFile = filerequest.result; - //alert(titleFile); - //readArticleFromHtmlForm(file); }; filerequest.onerror = function() { alert("error reading title file"); @@ -55,6 +50,9 @@ else { }; } +/** + * Set the Offsets HTML fields from the selected title + */ function updateOffsetsFromTitle(selectValue) { var offsets=selectValue.split(/\|/); document.getElementById("filenumber").value=offsets[0]; @@ -63,6 +61,9 @@ function updateOffsetsFromTitle(selectValue) { document.getElementById("length").value=offsets[3]; } +/** + * Read an integer encoded in 4 bytes + */ function readIntegerFrom4Bytes(byteArray,firstIndex) { return byteArray[firstIndex] + byteArray[firstIndex+1]*256 + byteArray[firstIndex+2]*65536 + byteArray[firstIndex+3]*16777216; } @@ -92,6 +93,9 @@ function utf8ByteArrayToString(bytes,startIndex,endIndex) { return out.join(''); }; +/** + * Read all the titles from the index file, and populate the dropdown list + */ function readAllTitlesFromIndex(titleFile) { if (titleFile) { var reader = new FileReader(); @@ -123,7 +127,8 @@ function readAllTitlesFromIndex(titleFile) { blockoffset = readIntegerFrom4Bytes(byteArray,i+7); length = readIntegerFrom4Bytes(byteArray,i+11); var newLineIndex = i+15; - + + // Look for the index of NewLine while (newLineIndex0) { var filenumber = document.getElementById('filenumber').value; @@ -155,6 +163,7 @@ function readArticleFromHtmlForm(dataFiles) { var blockoffset = document.getElementById('blockoffset').value; var length = document.getElementById('length').value; var dataFile; + // Find the good dump file for (var i=0; i/g,'>'); - //document.getElementById('rawArticleContent').value = decodeURIComponent(escape(htmlArticles)); + //document.getElementById('rawArticleContent').value = htmlArticle; }; - //var blob = file; // TODO : should be improved by reading the file chunks by chunks until the article is found, // instead of reading the whole file starting at blockstart var blob = dataFile.slice(blockstart);