X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2Fengine%2FCheckDictionariesMain.java;h=09e6710fd6b905afdf3e8e123d946dc7969e4002;hb=873ddcdb04b8e7488851adf77df1439b98cc03a0;hp=ca67a8c757e5a229a71731489a0faa6459e957b6;hpb=6e6661c2989066377a6a6693dafc0d65bfea4b82;p=DictionaryPC.git diff --git a/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java b/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java index ca67a8c..09e6710 100644 --- a/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java +++ b/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java @@ -1,67 +1,90 @@ package com.hughes.android.dictionary.engine; +import com.hughes.android.dictionary.DictionaryInfo; +import com.hughes.android.dictionary.DictionaryInfo.IndexInfo; +import com.hughes.util.CollectionUtil; + 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 com.hughes.android.dictionary.DictionaryInfo; +import java.util.Collections; +import java.util.List; public class CheckDictionariesMain { - - static final String BASE_URL = "http://quickdic-dictionary.googlecode.com/files/"; - static final String VERSION_CODE = "v002"; - - public static void main(String[] args) throws IOException { - final File dictDir = new File(DictionaryBuilderMain.OUTPUTS); - - final PrintWriter dictionaryInfoOut = new PrintWriter(new File("../Dictionary/res/raw/dictionary_info.txt")); - 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"); - - final File[] files = dictDir.listFiles(); - Arrays.sort(files); - for (final File dictFile : files) { - if (!dictFile.getName().endsWith("quickdic")) { - continue; - } - System.out.println(dictFile.getPath()); - - - 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.uncompressedBytes = dictFile.length(); - final File zipFile = new File(dictFile.getPath() + ".zip"); - dictionaryInfo.zipBytes = zipFile.canRead() ? zipFile.length() : -1; - - // Print it. -// final PrintWriter textOut = new PrintWriter(new File(dictFile + ".text")); + + static final String BASE_URL = "https://github.com/rdoeffinger/Dictionary/releases/download/v0.3-dictionaries/"; + static final String VERSION_CODE_OLD = "v006"; + static final String VERSION_CODE = "v007"; + + public static void main(String[] args) throws IOException { + final File dictDir = new File(DictionaryBuilderMain.OUTPUTS); + + final PrintWriter dictionaryInfoOut = new PrintWriter(new File("../Dictionary/res/raw/dictionary_info.txt")); +// 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"); + + final File[] files = dictDir.listFiles(); + final List dictNames = new ArrayList(); + Arrays.sort(files); + for (final File dictFile : files) { + if (!dictFile.getName().endsWith("quickdic")) { + continue; + } + System.out.println(dictFile.getPath()); + + + final RandomAccessFile raf = new RandomAccessFile(dictFile, "r"); + final Dictionary dict = new Dictionary(raf.getChannel()); + + final DictionaryInfo dictionaryInfo = dict.getDictionaryInfo(); + + String version_code = VERSION_CODE; + File zipFile = new File(dictFile.getPath() + "." + version_code + ".zip"); + if (!zipFile.canRead()) { + version_code = VERSION_CODE_OLD; + zipFile = new File(dictFile.getPath() + "." + version_code + ".zip"); + } + dictionaryInfo.uncompressedFilename = dictFile.getName(); + dictionaryInfo.downloadUrl = BASE_URL + dictFile.getName() + "." + version_code + ".zip"; + // TODO: zip it right here.... + dictionaryInfo.uncompressedBytes = dictFile.length(); + dictionaryInfo.zipBytes = zipFile.canRead() ? zipFile.length() : -1; + + // Print it. +// final PrintWriter textOut = new PrintWriter(new BufferedWriter(new FileWriter(dictFile + ".text"))); // final List sorted = new ArrayList(dict.pairEntries); // Collections.sort(sorted); // for (final PairEntry pairEntry : sorted) { // textOut.println(pairEntry.getRawText(false)); // } // textOut.close(); - - // Find the stats. - System.out.println("Stats..."); - final String row = dictionaryInfo.append(new StringBuilder()).toString(); - System.out.println(row + "\n"); - - dictionaryInfoOut.println(row); - dictionaryInfoOut.flush(); - - raf.close(); - + + // Find the stats. + System.out.println("Stats..."); + final List indexNames = new ArrayList(); + for (final IndexInfo indexInfo : dictionaryInfo.indexInfos) { + indexNames.add(indexInfo.shortName); + } + dictNames.add(CollectionUtil.join(indexNames, "-") + "\n"); + final String row = dictionaryInfo.append(new StringBuilder()).toString(); + if (!zipFile.canRead()) { + System.err.println("Couldn't read zipfile: " + zipFile); + } + System.out.println(row + "\n"); + + + dictionaryInfoOut.println(row); + dictionaryInfoOut.flush(); + + raf.close(); + } + + Collections.sort(dictNames); + System.out.println(dictNames.toString().replace(",", " *")); + + dictionaryInfoOut.close(); } - - dictionaryInfoOut.close(); - } }