X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2Fparser%2Fwiktionary%2FWholeSectionToHtmlParser.java;h=2b719db747b3b5f64edf4c8f938d333c9da04073;hb=cd527412992b58b660a003862da6009f6122c162;hp=e0763620b7f1289bc01bee7da86d850001417d2c;hpb=5a1b9f8a37d03dc675e1d895817422e9743a5b5b;p=DictionaryPC.git diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java b/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java index e076362..2b719db 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java @@ -30,7 +30,7 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { void addFunctionCallbacks( Map> functionCallbacks); } - static final Map isoToLangConfig = new LinkedHashMap(); + static final Map isoToLangConfig = new LinkedHashMap<>(); static { final Pattern enSkipSections = Pattern.compile(".*(Translations|Anagrams|References).*"); isoToLangConfig.put("EN", new LangConfig() { @@ -47,23 +47,18 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { if (sectionName.equalsIgnoreCase("Antonyms")) { return EntryTypeName.ANTONYM_MULTI; } - if (EnParser.partOfSpeechHeader.matcher(sectionName).matches()) { - // We need to put it in the other index, too (probably) - return null; - } - if (sectionName.equalsIgnoreCase("Derived Terms")) { - return null; - } + // We need to put it in the other index, too (probably) ? + // EnParser.partOfSpeechHeader.matcher(sectionName).matches() + + // Needs special handling? + // sectionName.equalsIgnoreCase("Derived Terms") return null; } @Override public boolean skipWikiLink(WikiTokenizer wikiTokenizer) { final String wikiText = wikiTokenizer.wikiLinkText(); - if (wikiText.startsWith("Category:")) { - return true; - } - return false; + return wikiText.startsWith("Category:"); } @Override public String adjustWikiLink(String wikiLinkDest, String wikiLinkText) { @@ -108,10 +103,7 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { @Override public boolean skipWikiLink(WikiTokenizer wikiTokenizer) { final String wikiText = wikiTokenizer.wikiLinkText(); - if (wikiText.startsWith("Categoría:")) { - return true; - } - return false; + return wikiText.startsWith("Categoría:"); } @Override public String adjustWikiLink(String wikiLinkDest, String wikiLinkText) { @@ -156,10 +148,7 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { @Override public boolean skipWikiLink(WikiTokenizer wikiTokenizer) { final String wikiText = wikiTokenizer.wikiLinkText(); - if (wikiText.startsWith("Categoria:")) { - return true; - } - return false; + return wikiText.startsWith("Categoria:"); } @Override public String adjustWikiLink(String wikiLinkDest, String wikiLinkText) { @@ -204,10 +193,7 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { @Override public boolean skipWikiLink(WikiTokenizer wikiTokenizer) { final String wikiText = wikiTokenizer.wikiLinkText(); - if (wikiText.startsWith("Kategorie:")) { - return true; - } - return false; + return wikiText.startsWith("Kategorie:"); } @Override public String adjustWikiLink(String wikiLinkDest, String wikiLinkText) { @@ -252,10 +238,7 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { @Override public boolean skipWikiLink(WikiTokenizer wikiTokenizer) { final String wikiText = wikiTokenizer.wikiLinkText(); - if (wikiText.startsWith("Categoria:")) { - return true; - } - return false; + return wikiText.startsWith("Categoria:"); } @Override public String adjustWikiLink(String wikiLinkDest, String wikiLinkText) { @@ -301,10 +284,7 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { @Override public boolean skipWikiLink(WikiTokenizer wikiTokenizer) { final String wikiText = wikiTokenizer.wikiLinkText(); - if (wikiText.startsWith("Catégorie:")) { - return true; - } - return false; + return wikiText.startsWith("Catégorie:"); } @Override public String adjustWikiLink(String wikiLinkDest, String wikiLinkText) { @@ -364,11 +344,19 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { if (webUrlTemplate != null) { final String webUrl = String.format(webUrlTemplate, title); + String asciiWebUrl = null; // URI.create can raise an exception e.g. if webUrl contains %, just ignore those cases. try { - callback.builder.append(String.format("

%s", URI.create(webUrl).toASCIIString(), escapeHtmlLiteral(webUrl))); + asciiWebUrl = URI.create(webUrl).toASCIIString(); } catch (Exception e) { } + if (asciiWebUrl != null) { + callback.builder.append("

"); + callback.builder.append(escapeHtmlLiteral(webUrl)); + callback.builder.append(""); + } } htmlEntry.html = callback.builder.toString(); indexedEntry.isValid = true; @@ -437,9 +425,11 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { titleIndexBuilder.addEntryWithString(indexedEntry, wikiTokenizer.wikiLinkText(), sectionEntryTypeName); } if (!StringUtil.isNullOrEmpty(linkDest)) { - builder.append(String.format("", HtmlEntry.formatQuickdicUrl("", linkDest))); + builder.append(""); super.onWikiLink(wikiTokenizer); - builder.append(String.format("")); + builder.append(""); } else { super.onWikiLink(wikiTokenizer); } @@ -484,12 +474,16 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { } return; } - builder.append(String.format("\n", depth)); + builder.append("\n'); dispatch(headingText, null); - builder.append(String.format("\n", depth)); + builder.append("\n"); } - final List listPrefixStack = new ArrayList(); + final List listPrefixStack = new ArrayList<>(); @Override public void onListItem(WikiTokenizer wikiTokenizer) { @@ -498,8 +492,9 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { } final String prefix = wikiTokenizer.listItemPrefix(); while (listPrefixStack.size() < prefix.length()) { - builder.append(String.format("<%s>", - WikiTokenizer.getListTag(prefix.charAt(listPrefixStack.size())))); + builder.append('<'); + builder.append(WikiTokenizer.getListTag(prefix.charAt(listPrefixStack.size()))); + builder.append('>'); listPrefixStack.add(prefix.charAt(listPrefixStack.size())); } builder.append("

  • "); @@ -523,7 +518,9 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { } while (listPrefixStack.size() > nextListHeader.length()) { final char prefixChar = listPrefixStack.remove(listPrefixStack.size() - 1); - builder.append(String.format("\n", WikiTokenizer.getListTag(prefixChar))); + builder.append("\n"); } }