I have the following function in a module - this function performs a Regex search and attempts to replace matches with a link (generated with the A() helper). The regex and replacement is working correctly - if I change the value of the replace variable to something other than the A() helper, it works as I expect. Something with the A() helper is causing the return to not have the link at all (just the innerHTML from the link).
The module's function: def link_wiki_tags(content, db, request): import re from gluon.html import A, URL pattern = re.compile('\[\[([\w\s:]+)\]\]') for match in pattern.findall(content): slug = slugify(match) if db(db.games.slug == slug).select(): replace = A(match, _href = URL(r = request, c = 'games', f = 'view', args = slug), _title = match) elif db(db.people.slug == slug).select(): replace = A(match, _href = URL(r = request, c = 'people', f = 'view', args = slug), _title = match) elif db(db.companies.slug == slug).select(): replace = A(match, _href = URL(r = request, c = 'companies', f = 'view', args = slug), _title = match) else: replace = match content = re.sub('\[\[' + match + '\]\]', replace, content) return content How this module is called from the view: {{= link_wiki_tags(person.content, db, request) }} Sample Input: [[John Carmack]] is a developer for [[Quake Live]]. Expected Output: <a href="/shooterhero/people/view/john-carmack" title="John Carmack">John Carmack</a> is a developer for <a href="/shooterhero/ games/view/quake-live" title="Quake Live">Quake Live</a>. Actual Output: John Carmack is a developer for Quake Live. As I mentioned, if I change the replace lines within the conditional checking for a database result, it will change the output as expected. I have change this replace variable to a string, as well as the URL() helper, both of which worked fine. In other words, I have narrowed this issue down to the A() helper. Any help in getting the module's function to return the intended output would be appreciated. Is there some sort of filtering placed on module function returns (something that would strip out tags). --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---