]> gitweb.fperrin.net Git - DictionaryPC.git/blobdiff - src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java
Build fr_de dictionary from enwiktionary, yeah!
[DictionaryPC.git] / src / com / hughes / android / dictionary / parser / wiktionary / EnFunctionCallbacks.java
index eae2a80dfac25cc152655efa31862484bec01b88..5593ffd8bc31826ef782853eebfb37a2d8876f9b 100644 (file)
@@ -34,7 +34,7 @@ class EnFunctionCallbacks {
   static final Map<String,FunctionCallback<EnParser>> DEFAULT = new LinkedHashMap<String, FunctionCallback<EnParser>>();
   
   static {
-    FunctionCallback<EnParser> callback = new TranslationCallback();
+    FunctionCallback<EnParser> callback = new TranslationCallback<EnParser>();
     DEFAULT.put("t", callback);
     DEFAULT.put("t+", callback);
     DEFAULT.put("t-", callback);
@@ -111,17 +111,19 @@ class EnFunctionCallbacks {
 
   // ------------------------------------------------------------------
 
-  static final class TranslationCallback implements FunctionCallback<EnParser> {
+  static final class TranslationCallback<T extends AbstractWiktionaryParser> implements FunctionCallback<T> {
     @Override
     public boolean onWikiFunction(final WikiTokenizer wikiTokenizer, final String name, final List<String> args,
-        final Map<String, String> namedArgs, final EnParser parser,
-        final AppendAndIndexWikiCallback<EnParser> appendAndIndexWikiCallback) {
+        final Map<String, String> namedArgs, final T parser,
+        final AppendAndIndexWikiCallback<T> appendAndIndexWikiCallback) {
 
       final String transliteration = namedArgs.remove("tr");
       final String alt = namedArgs.remove("alt");
       namedArgs.keySet().removeAll(EnParser.USELESS_WIKI_ARGS);
       if (args.size() < 2) {
-        EnParser.LOG.warning("{{t...}} with wrong args: title=" + parser.title);
+        if (!name.equals("ttbc")) {
+          EnParser.LOG.warning("{{t...}} with wrong args: title=" + parser.title + ", " + wikiTokenizer.token());
+        }
         return false;
       }
       final String langCode = ListUtil.get(args, 0);