]> gitweb.fperrin.net Git - DictionaryPC.git/commitdiff
Better DictionaryInfo, IndexBuilder counts main TokenRows.
authorThad Hughes <thad.hughes@gmail.com>
Tue, 17 Jan 2012 21:13:38 +0000 (13:13 -0800)
committerThad Hughes <thad.hughes@gmail.com>
Tue, 17 Jan 2012 21:13:38 +0000 (13:13 -0800)
src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java
src/com/hughes/android/dictionary/engine/DictionaryBuilderMain.java
src/com/hughes/android/dictionary/engine/IndexBuilder.java
src/com/hughes/android/dictionary/parser/enwiktionary/FunctionCallbacksDefault.java

index 36d69d3f72ccc1dd2450d53446d504def64c3413..898f46236416cf1437bf5a5254d6daaec7adf05d 100644 (file)
@@ -4,18 +4,14 @@ import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.RandomAccessFile;
-import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
 
 import com.hughes.android.dictionary.DictionaryInfo;
-import com.hughes.android.dictionary.engine.Index.IndexEntry;
 
 public class CheckDictionariesMain {
   
   static final String BASE_URL = "http://quickdic-dictionary.googlecode.com/files/";
-  static final String VERSION_CODE = "v002";
+  static final String VERSION_CODE = "v003";
 
   public static void main(String[] args) throws IOException {
     final File dictDir = new File(DictionaryBuilderMain.OUTPUTS);
@@ -31,15 +27,15 @@ public class CheckDictionariesMain {
       }
       System.out.println(dictFile.getPath());
       
-      final DictionaryInfo dictionaryInfo = new DictionaryInfo();
       
       final RandomAccessFile raf = new RandomAccessFile(dictFile, "r");
       final Dictionary dict = new Dictionary(raf);
-      
+
+      final DictionaryInfo dictionaryInfo = dict.getDictionaryInfo();
+
       dictionaryInfo.uncompressedFilename = dictFile.getName();
       dictionaryInfo.downloadUrl = BASE_URL + dictFile.getName() + "." + VERSION_CODE + ".zip";
       // TODO: zip it right here....
-      dictionaryInfo.creationMillis = dict.creationMillis;
       dictionaryInfo.uncompressedSize = dictFile.length();
 
       // Print it.
@@ -53,23 +49,14 @@ public class CheckDictionariesMain {
       
       // Find the stats.
       System.out.println("Stats...");
-      for (int i = 0; i < 2; ++i) {
-        dictionaryInfo.langIsos[i] = dict.indices.get(i).sortLanguage.getIsoCode();
-        final Index index = dict.indices.get(i);
-        for (final IndexEntry indexEntry : index.sortedIndexEntries) {
-          final TokenRow tokenRow = (TokenRow) index.rows.get(indexEntry.startRow);
-          dictionaryInfo.allTokenCounts[i]++; 
-          if (tokenRow.hasMainEntry) {
-            dictionaryInfo.mainTokenCounts[i]++; 
-          }
-        }
-      }
+      final String row = dictionaryInfo.append(new StringBuilder()).toString();
+      System.out.println(row + "\n");
+      
+      dictionaryInfoOut.println(row);
+      dictionaryInfoOut.flush();
       
       raf.close();
       
-      dictionaryInfoOut.println(dictionaryInfo.toTabSeparatedString());
-      dictionaryInfoOut.flush();
-      System.out.println(dictionaryInfo.toTabSeparatedString() + "\n");
     }
     
     dictionaryInfoOut.close();
index 8ac728396aa14c5bbe89b220b06d1f72aa4b7815..192ad6db0d4e915fc41a8c859222e944e40afc04 100644 (file)
@@ -63,9 +63,9 @@ public class DictionaryBuilderMain extends TestCase {
     
 //    isoToWikiName.keySet().retainAll(Arrays.asList("UK", "HR", "FI"));
     //isoToWikiName.clear();
-    boolean go = true;
+    boolean go = false;
     for (final String foreignIso : isoToWikiName.keySet()) {
-      if (foreignIso.equals("SK")) {
+      if (foreignIso.equals("blah")) {
         go = true;
       }
       if (!go) {
@@ -111,7 +111,7 @@ public class DictionaryBuilderMain extends TestCase {
         
     }  // foreignIso
 
-    final String dictFile = String.format("%s/DE-EN_chemnitz_enwiktionary.%s.quickdic", OUTPUTS);
+    final String dictFile = String.format("%s/DE-EN_chemnitz_enwiktionary.quickdic", OUTPUTS);
     DictionaryBuilder.main(new String[] {
         "--dictOut=" + dictFile,
         "--lang1=DE",
index 6f28d30ba0faee0131d2fcd533706c70e48805c9..44bfa761daff1886f303e412ea0436872838fa7d 100644 (file)
@@ -46,12 +46,17 @@ public class IndexBuilder {
   public void build() {
     final Set<IndexedEntry> tokenEntryDatas = new HashSet<IndexedEntry>();
     final List<RowBase> rows = index.rows;
+    index.mainTokenCount = 0;
     for (final TokenData tokenData : tokenToData.values()) {
       tokenEntryDatas.clear();
       final int indexIndex = index.sortedIndexEntries.size();
       final int startRow = rows.size();
       
-      rows.add(new TokenRow(indexIndex, rows.size(), index, tokenData.hasMainEntry));
+      final TokenRow tokenRow = new TokenRow(indexIndex, rows.size(), index, tokenData.hasMainEntry);
+      rows.add(tokenRow);
+      if (tokenRow.hasMainEntry) {
+        index.mainTokenCount++;
+      }
 //      System.out.println("Added TokenRow: " + rows.get(rows.size() - 1));
       int numRows = 0;
 //      System.out.println("TOKEN: " + tokenData.token);
index 83b13ef5fdb20e2888bdcc0da4cf3ee882c07e79..99e44d978bd6c1dbd3467e4548abf75011bded21 100644 (file)
@@ -133,7 +133,15 @@ public final class FunctionCallbacksDefault {
       appendAndIndexWikiCallback.builder.append("|");
       appendAndIndexWikiCallback.dispatch(entry.getKey(), null, null);
       appendAndIndexWikiCallback.builder.append("=");
-      appendAndIndexWikiCallback.dispatch(entry.getValue(), null, null);
+      EntryTypeName entryTypeName = null;
+      IndexBuilder indexBuilder = null;
+      // This doesn't work: we'd need to add to word-forms.
+//      System.out.println(entry.getKey());
+//      if (entry.getKey().equals("tr")) {
+//        entryTypeName = EntryTypeName.WIKTIONARY_TRANSLITERATION;
+//        indexBuilder = appendAndIndexWikiCallback.parser.foreignIndexBuilder;
+//      }
+      appendAndIndexWikiCallback.dispatch(entry.getValue(), indexBuilder, entryTypeName);
     }
   }