1.1 --- a/moinformat/metadata.py Thu Aug 17 23:33:18 2023 +0200
1.2 +++ b/moinformat/metadata.py Thu Aug 17 23:34:10 2023 +0200
1.3 @@ -25,6 +25,7 @@
1.4 from moinformat.parsers import get_parser, parsers
1.5 from moinformat.serialisers import get_serialiser, serialisers
1.6 from moinformat.themes import get_theme
1.7 +from moinformat.translators import get_translator, translators
1.8
1.9 class Metadata:
1.10
1.11 @@ -44,11 +45,11 @@
1.12
1.13 effects = {
1.14 "input_context" : ["input"],
1.15 - "input_format" : ["parser", "serialiser"],
1.16 + "input_format" : ["parser", "serialiser", "translator"],
1.17 "input_separator" : ["input"],
1.18 "link_format" : ["linker"],
1.19 "output_context" : ["output"],
1.20 - "output_format" : ["serialiser"],
1.21 + "output_format" : ["serialiser", "translator"],
1.22 "theme_name" : ["theme"],
1.23 }
1.24
1.25 @@ -221,4 +222,18 @@
1.26
1.27 return self.make_object("theme", cls)
1.28
1.29 + def get_translator(self, name=None):
1.30 +
1.31 + """
1.32 + Make a translator using any given 'name' or otherwise using the
1.33 + "output_format" setting which will be replaced by any given 'name'.
1.34 + """
1.35 +
1.36 + cls = get_translator(self.get_update("output_format", name),
1.37 + self.get("input_format"))
1.38 +
1.39 + translator = self.make_object("translator", cls)
1.40 + translator.translators = translators
1.41 + return translator
1.42 +
1.43 # vim: tabstop=4 expandtab shiftwidth=4