X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2Fparser%2Fwiktionary%2FWholeSectionToHtmlParser.java;h=2b719db747b3b5f64edf4c8f938d333c9da04073;hb=cd527412992b58b660a003862da6009f6122c162;hp=ba915aab86ab49071b8e1a53279fe79407ff4817;hpb=2fc669d88306d563fc9c899d8d91b25d591692ea;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 ba915aa..2b719db 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java @@ -344,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; @@ -417,7 +425,9 @@ 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(""); } else { @@ -464,9 +474,13 @@ 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<>(); @@ -478,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("

  • "); @@ -503,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"); } }