]> gitweb.fperrin.net Git - DictionaryPC.git/blob - src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java
DictionaryBuilder prints sortable langs, JP->JA fix.
[DictionaryPC.git] / src / com / hughes / android / dictionary / engine / CheckDictionariesMain.java
1 package com.hughes.android.dictionary.engine;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.io.PrintWriter;
6 import java.io.RandomAccessFile;
7 import java.util.ArrayList;
8 import java.util.Arrays;
9 import java.util.Collections;
10 import java.util.List;
11
12 import com.hughes.android.dictionary.DictionaryInfo;
13 import com.hughes.android.dictionary.parser.wiktionary.WiktionaryLangs;
14
15 public class CheckDictionariesMain {
16   
17   static final String BASE_URL = "http://quickdic-dictionary.googlecode.com/files/";
18   static final String VERSION_CODE = "v005";
19
20   public static void main(String[] args) throws IOException {
21     final File dictDir = new File(DictionaryBuilderMain.OUTPUTS);
22     
23     final PrintWriter dictionaryInfoOut = new PrintWriter(new File("../Dictionary/res/raw/dictionary_info.txt"));
24 //    dictionaryInfoOut.println("# LANG_1\t%LANG_2\tFILENAME\tVERSION_CODE\tFILESIZE\tNUM_MAIN_WORDS_1\tNUM_MAIN_WORDS_2\tNUM_ALL_WORDS_1\tNUM_ALL_WORDS_2");
25
26     final File[] files = dictDir.listFiles();
27     final List<String> dictNames = new ArrayList<String>();
28     Arrays.sort(files);
29     for (final File dictFile : files) {
30       if (!dictFile.getName().endsWith("quickdic")) {
31         continue;
32       }
33       System.out.println(dictFile.getPath());
34       
35       
36       final RandomAccessFile raf = new RandomAccessFile(dictFile, "r");
37       final Dictionary dict = new Dictionary(raf);
38
39       final DictionaryInfo dictionaryInfo = dict.getDictionaryInfo();
40
41       dictionaryInfo.uncompressedFilename = dictFile.getName();
42       dictionaryInfo.downloadUrl = BASE_URL + dictFile.getName() + "." + VERSION_CODE + ".zip";
43       // TODO: zip it right here....
44       dictionaryInfo.uncompressedBytes = dictFile.length();
45       final File zipFile = new File(dictFile.getPath() + "." + VERSION_CODE + ".zip");
46       dictionaryInfo.zipBytes = zipFile.canRead() ? zipFile.length() : -1;
47
48       // Print it.
49 //      final PrintWriter textOut = new PrintWriter(new BufferedWriter(new FileWriter(dictFile + ".text")));
50 //      final List<PairEntry> sorted = new ArrayList<PairEntry>(dict.pairEntries);
51 //      Collections.sort(sorted);
52 //      for (final PairEntry pairEntry : sorted) {
53 //        textOut.println(pairEntry.getRawText(false));
54 //      }
55 //      textOut.close();
56       
57       // Find the stats.
58       System.out.println("Stats...");
59       final String lang1 = WiktionaryLangs.isoCodeToWikiName.get(dictionaryInfo.indexInfos.get(0).shortName);
60       final String lang2 = WiktionaryLangs.isoCodeToWikiName.get(dictionaryInfo.indexInfos.get(1).shortName);
61       dictNames.add(String.format("%s-%s\n", lang1, lang2));
62       final String row = dictionaryInfo.append(new StringBuilder()).toString();
63       if (!zipFile.canRead()) {
64         System.err.println("Couldn't read zipfile: " + zipFile);
65       }
66       System.out.println(row + "\n");
67       
68       
69       dictionaryInfoOut.println(row);
70       dictionaryInfoOut.flush();
71       
72       raf.close();
73     }
74     
75     Collections.sort(dictNames);
76     System.out.println(dictNames.toString().replaceAll(",", "  *"));
77     
78     dictionaryInfoOut.close();
79   }
80
81 }