import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.Logger;
import com.hughes.android.dictionary.engine.EntryTypeName;
DEFAULT.put("tø", callback);
DEFAULT.put("apdx-t", callback);
- DEFAULT.put("qualifier", new QualifierCallback());
-
callback = new EncodingCallback();
Set<String> encodings = new LinkedHashSet<String>(Arrays.asList(
"zh-ts", "zh-tsp",
DEFAULT.put("p", callback);
DEFAULT.put("g", callback);
- DEFAULT.put("italbrac", new italbrac());
- DEFAULT.put("gloss", new gloss());
-
callback = new AppendArg0();
callback = new Ignore();
DEFAULT.put("attention", callback);
DEFAULT.put("zh-attention", callback);
- DEFAULT.put("not used", new not_used());
- DEFAULT.put("form of", new FormOf());
- DEFAULT.put("wikipedia", new wikipedia());
+
+ callback = new FormOf();
+ DEFAULT.put("form of", callback);
+ DEFAULT.put("conjugation of", callback);
+ DEFAULT.put("participle of", callback);
+ DEFAULT.put("present participle of", callback);
+ DEFAULT.put("past participle of", callback);
+ DEFAULT.put("feminine past participle of", callback);
+ DEFAULT.put("gerund of", callback);
+ DEFAULT.put("feminine of", callback);
+ DEFAULT.put("plural of", callback);
+ DEFAULT.put("feminine plural of", callback);
+ DEFAULT.put("inflected form of", callback);
+ DEFAULT.put("alternative form of", callback);
+ DEFAULT.put("dated form of", callback);
+ DEFAULT.put("apocopic form of", callback);
callback = new InflOrHead();
DEFAULT.put("infl", callback);
callback = new AppendName();
DEFAULT.put("...", callback);
+ DEFAULT.put("qualifier", new QualifierCallback());
+ DEFAULT.put("italbrac", new italbrac());
+ DEFAULT.put("gloss", new gloss());
+ DEFAULT.put("not used", new not_used());
+ DEFAULT.put("wikipedia", new wikipedia());
}
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);
}
}
return false;
}
final String langCode = ListUtil.get(args, 0);
+ if (!appendAndIndexWikiCallback.langCodeToTCount.containsKey(langCode)) {
+ appendAndIndexWikiCallback.langCodeToTCount.put(langCode, new AtomicInteger());
+ }
+ appendAndIndexWikiCallback.langCodeToTCount.get(langCode).incrementAndGet();
final String word = ListUtil.get(args, 1);
final String gender = ListUtil.get(args, 2);
// TODO: deal with second (and third...) gender, and alt.
final Map<String, String> namedArgs,
final EnWiktionaryXmlParser parser,
final AppendAndIndexWikiCallback appendAndIndexWikiCallback) {
- if (args.size() != 1 || !namedArgs.isEmpty()) {
+ if (!namedArgs.isEmpty()) {
LOG.warning("weird encoding: " + wikiTokenizer.token());
}
if (args.size() == 0) {
// Things like "{{Jpan}}" exist.
return true;
}
- final String wikiText = args.get(0);
- appendAndIndexWikiCallback.dispatch(wikiText, appendAndIndexWikiCallback.entryTypeName);
+
+ for (int i = 0; i < args.size(); ++i) {
+ if (i > 0) {
+ appendAndIndexWikiCallback.builder.append(", ");
+ }
+ final String arg = args.get(i);
+// if (arg.equals(parser.title)) {
+// parser.titleAppended = true;
+// }
+ appendAndIndexWikiCallback.dispatch(arg, appendAndIndexWikiCallback.entryTypeName);
+ }
+
return true;
}
}
final Map<String, String> namedArgs,
final EnWiktionaryXmlParser parser,
final AppendAndIndexWikiCallback appendAndIndexWikiCallback) {
+ parser.entryIsFormOfSomething = true;
String formName = name;
if (name.equals("form of")) {
formName = ListUtil.remove(args, 0, null);