Author: jure
Date: Tue Mar 12 09:02:46 2013
New Revision: 1455454
URL: http://svn.apache.org/r1455454
Log:
#390, handle unmatched nested wiki syntax, patch
t390_r1453952_product_wikisyntax_nomatch.diff applied (from Olemis)
Modified:
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.txt
Modified:
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py
URL:
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py?rev=1455454&r1=1455453&r2=1455454&view=diff
==============================================================================
---
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py
(original)
+++
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py
Tue Mar 12 09:02:46 2013
@@ -21,6 +21,7 @@
import copy
from genshi.builder import tag, Element
+from genshi.core import escape
from pkg_resources import resource_filename
from trac.config import Option, PathOption
@@ -463,7 +464,14 @@ class MultiProductSystem(Component):
if isinstance(link, Element)
and 'title' in link.attrib
else link)
- return subformatter.match(sublink + extra)
+ link = subformatter.match(sublink + extra)
+ if link:
+ return link
+ else:
+ # Return outermost match unchanged like if it was !-escaped
+ for itype, match in fullmatch.groupdict().items():
+ if match and not itype in formatter.wikiparser.helper_patterns:
+ return escape(match)
PRODUCT_SYNTAX_DELIMITER = MultiProductSystem.short_syntax_delimiter
Modified:
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.txt
URL:
http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.txt?rev=1455454&r1=1455453&r2=1455454&view=diff
==============================================================================
---
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.txt
(original)
+++
incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/product-ticket-link-tests.txt
Tue Mar 12 09:02:46 2013
@@ -90,13 +90,17 @@
%(link_prefix)s#â´Â²
%(link_prefix)s#1-âµ,42
%(link_prefix)s#1,³,5,7
+%(link_prefix_quote)s#1"-âµ,42
+%(link_prefix_quote)s#1",³,5,7
%(link_prefix)s#T²â°â´Â¹
%(link_prefix)s#trac²â°â´Â¹
------------------------------
<p>
%(link_prefix)s#â´Â²
-<a class="new ticket" href="/ticket/1" title="%(link_title_prefix)sThis is the
summary (new)">#1</a>-âµ,42
-<a class="new ticket" href="/ticket/1" title="%(link_title_prefix)sThis is the
summary (new)">#1</a>,³,5,7
+<a class="new ticket" href="%(path_prefix)s/ticket/1"
title="%(link_title_prefix)sThis is the summary (new)">#1</a>
+<a class="new ticket" href="%(path_prefix)s/ticket/1"
title="%(link_title_prefix)sThis is the summary (new)">#1</a>
+<a class="new ticket" href="%(path_prefix)s/ticket/1"
title="%(link_title_prefix)sThis is the summary (new)">#1</a>-âµ,42
+<a class="new ticket" href="%(path_prefix)s/ticket/1"
title="%(link_title_prefix)sThis is the summary (new)">#1</a>,³,5,7
%(link_prefix)s#T²â°â´Â¹
%(link_prefix)s#trac²â°â´Â¹
</p>