# HG changeset patch # User Paul Boddie # Date 1654274624 -7200 # Node ID 6cc0a83cc21e31fc5aaa3ace6061479fe63ec5da # Parent ad04b52492dfd5a1a726fa928ddfbb637d26fdc5 Propagate region arguments to serialisers. diff -r ad04b52492df -r 6cc0a83cc21e moinformat/serialisers/html/moin.py --- a/moinformat/serialisers/html/moin.py Fri Jun 03 18:42:46 2022 +0200 +++ b/moinformat/serialisers/html/moin.py Fri Jun 03 18:43:44 2022 +0200 @@ -43,7 +43,7 @@ else: return "span" - def start_region(self, level, indent, type, extra): + def start_region(self, level, indent, type, args, extra): # Generate attributes, joining them when preparing the tag. @@ -69,7 +69,7 @@ self.out("<%s class='%s'>" % (tag, " ".join(l))) - def end_region(self, level, indent, type, extra): + def end_region(self, level, indent, type, args, extra): tag = self._region_tag(type) self.out("" % tag) diff -r ad04b52492df -r 6cc0a83cc21e moinformat/serialisers/moin/moin.py --- a/moinformat/serialisers/moin/moin.py Fri Jun 03 18:42:46 2022 +0200 +++ b/moinformat/serialisers/moin/moin.py Fri Jun 03 18:43:44 2022 +0200 @@ -28,7 +28,7 @@ input_formats = ["moin", "wiki"] formats = ["moin", "wiki"] - def start_region(self, level, indent, type, extra): + def start_region(self, level, indent, type, args, extra): out = self.out if level: out(" " * indent + "{" * level) @@ -36,9 +36,15 @@ # Produce a header for regions within a top-level region. if type and type != "inline" and level: - out("#!%s\n" % type) + + # Obtain individual arguments, excluding the region type. - def end_region(self, level, indent, type, extra): + args = args.split(" ")[1:] + args_str = args and (" %s" % " ".join(args)) or "" + + out("#!%s%s\n" % (type, args_str)) + + def end_region(self, level, indent, type, args, extra): out = self.out if level: out("%s%s" % ("}" * level, extra or "")) diff -r ad04b52492df -r 6cc0a83cc21e moinformat/tree/moin.py --- a/moinformat/tree/moin.py Fri Jun 03 18:42:46 2022 +0200 +++ b/moinformat/tree/moin.py Fri Jun 03 18:43:44 2022 +0200 @@ -222,7 +222,7 @@ return self._prettyprint(l, indent) def to_string(self, out): - out.start_region(self.level, self.indent, self.type, self.extra) + out.start_region(self.level, self.indent, self.type, self.args, self.extra) # Obtain a serialiser for the region from the same format family. # Retain the same serialiser if no appropriate serialiser could be @@ -237,7 +237,7 @@ # End the region with the previous serialiser. - out.end_region(self.level, self.indent, self.type, self.extra) + out.end_region(self.level, self.indent, self.type, self.args, self.extra)