current https://trac-hacks.org/wiki/IncludeMacro does not run under Trac 1.6 due to genshi imports
see the attached patch to make it functional -- ales horak -- You received this message because you are subscribed to the Google Groups "Trac Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to trac-users+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/trac-users/25183efb-9d0d-4e7c-a6dd-6b68feb09f5bn%40googlegroups.com.
--- macros.orig.py 2025-09-13 12:32:03.342878939 +0200 +++ macros.py 2025-09-13 12:32:23.145049545 +0200 @@ -18,8 +18,9 @@ import re -from genshi.filters.html import HTMLSanitizer -from genshi.input import HTMLParser, ParseError +#from genshi.filters.html import HTMLSanitizer +#from genshi.input import HTMLParser, ParseError +from html.parser import HTMLParser from trac.core import TracError, implements from trac.mimeview.api import Mimeview, get_mimetype from trac.perm import IPermissionRequestor @@ -28,7 +29,7 @@ from trac.util import as_bool, as_int from trac.util.html import escape from trac.util.text import to_unicode -from trac.util.translation import _ +from trac.util.translation import _, cleandoc_ from trac.versioncontrol.api import NoSuchChangeset, NoSuchNode, \ RepositoryManager from trac.web.chrome import web_context @@ -45,10 +46,12 @@ class IncludeMacro(WikiMacroBase): + _domain = 'messages' + _description = cleandoc_( """A macro to include other resources in wiki pages. More documentation to follow. - """ + """) implements(IPermissionRequestor) @@ -60,6 +63,8 @@ # IWikiMacroProvider methods def expand_macro(self, formatter, name, content): + self.env.log.debug("hello from IncludeMacro") + largs, kwargs = parse_args(content) if len(largs) == 1: largs.append(None) @@ -206,8 +211,9 @@ if not self.config.getbool('wiki', 'render_unsafe_content', False): out = to_unicode(out) try: - out = HTMLParser(StringIO(out)).parse() | HTMLSanitizer() - except ParseError: + out = HTMLParser(StringIO(out)).parse() | TracHTMLSanitizer() + #except ParseError: no ParseError in HTMLParser now + except: out = escape(out) return out @@ -289,11 +295,11 @@ return out, ctxt, dest_format, annotations def _extract_section(self, text, section): - m1 = re.search("(^\s*(?P<heading>={1,6})\s(.*?)(\#%s)\s*$)" % section, + m1 = re.search(r"(^\s*(?P<heading>={1,6})\s(.*?)(\#%s)\s*$)" % section, text, re.MULTILINE) if m1: stext = text[m1.end(0):] - m2 = re.search("(^\s*%s\s(.*?)(\#%s)?\s*$)" + m2 = re.search(r"(^\s*%s\s(.*?)(\#%s)?\s*$)" % (m1.group('heading'), WikiParser.XML_NAME), stext, re.MULTILINE) if m2: