annotate fontaine/renderer.py @ 7:e3d52edde00b

Make renderers write to a provided output stream.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 04 Jan 2017 01:21:55 -0800
parents 6019eee799bf
children 02d2e4d8b0c1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1 import re
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
2 from fontaine.document import (
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
3 TYPE_ACTION, TYPE_CENTEREDACTION, TYPE_CHARACTER, TYPE_DIALOG,
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
4 TYPE_PARENTHETICAL, TYPE_TRANSITION, TYPE_LYRICS, TYPE_PAGEBREAK)
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
5
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
6
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
7 class BaseDocumentRenderer:
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
8 def __init__(self, text_renderer=None):
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
9 self.text_renderer = text_renderer
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
10 if not text_renderer:
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
11 self.text_renderer = NullTextRenderer()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
12
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
13 self._para_rdrs = {
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
14 TYPE_ACTION: self.write_action,
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
15 TYPE_CENTEREDACTION: self.write_centeredaction,
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
16 TYPE_CHARACTER: self.write_character,
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
17 TYPE_DIALOG: self.write_dialog,
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
18 TYPE_PARENTHETICAL: self.write_parenthetical,
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
19 TYPE_TRANSITION: self.write_transition,
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
20 TYPE_LYRICS: self.write_lyrics,
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
21 TYPE_PAGEBREAK: self.write_pagebreak,
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
22 }
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
23
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
24 def _tr(self, text):
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
25 return self.text_renderer.render_text(text)
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
26
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
27 def render_doc(self, doc, out):
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
28 self.write_header(doc, out)
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
29 self.render_title_page(doc.title_values, out)
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
30 for s in doc.scenes:
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
31 self.render_scene(s, out)
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
32 self.write_footer(doc, out)
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
33
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
34 def render_title_page(self, values, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
35 # Render known metadata.
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
36 title = values.get('title')
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
37 credit = values.get('credit')
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
38 author = values.get('author') or values.get('authors')
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
39 source = values.get('source')
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
40 center_text = '\n\n'.join([
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
41 i for i in [title, credit, author, source]
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
42 if i is not None])
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
43 self.write_title_heading(self._tr(center_text), out)
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
44
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
45 ddate = values.get('date') or values.get('draft date')
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
46 contact = values.get('contact')
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
47 bottom_text = '\n\n'.join([
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
48 i for i in [ddate, contact]
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
49 if i is not None])
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
50 self.write_title_footer(self._tr(bottom_text), out)
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
51
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
52 def render_scene(self, scene, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
53 if scene.header is not None:
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
54 self.write_scene_heading(scene.header, out)
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
55 for p in scene.paragraphs:
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
56 rdr_func = self._para_rdrs[p.type]
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
57 if p.type != TYPE_PAGEBREAK:
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
58 rdr_func(self._tr(p.text), out)
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
59 else:
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
60 rdr_func(out)
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
61
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
62 def write_header(self, doc, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
63 pass
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
64
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
65 def write_footer(self, doc, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
66 pass
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
67
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
68 def write_title_heading(self, text, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
69 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
70
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
71 def write_title_footer(self, text, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
72 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
73
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
74 def write_scene_heading(self, text, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
75 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
76
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
77 def write_action(self, text, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
78 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
79
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
80 def write_centeredaction(self, text, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
81 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
82
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
83 def write_character(self, text, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
84 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
85
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
86 def write_dialog(self, text, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
87 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
88
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
89 def write_parenthetical(self, text, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
90 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
91
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
92 def write_transition(self, text, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
93 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
94
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
95 def write_lyrics(self, text, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
96 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
97
7
e3d52edde00b Make renderers write to a provided output stream.
Ludovic Chabant <ludovic@chabant.com>
parents: 3
diff changeset
98 def write_pagebreak(self, out):
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
99 raise NotImplementedError()
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
100
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
101
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
102 RE_ITALICS = re.compile(
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
103 r"(?P<before>^|\s)(?P<esc>\\)?\*(?P<text>.*[^\s\*])\*(?=[^a-zA-Z0-9\*]|$)")
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
104 RE_BOLD = re.compile(
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
105 r"(?P<before>^|\s)(?P<esc>\\)?\*\*(?P<text>.*[^\s])\*\*(?=[^a-zA-Z0-9]|$)")
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
106 RE_UNDERLINE = re.compile(
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
107 r"(?P<before>^|\s)(?P<esc>\\)?_(?P<text>.*[^\s])_(?=[^a-zA-Z0-9]|$)")
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
108
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
109
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
110 class BaseTextRenderer:
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
111 def render_text(self, text):
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
112 # Replace bold stuff to catch double asterisks.
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
113 text = RE_BOLD.sub(self._do_make_bold, text)
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
114 text = RE_ITALICS.sub(self._do_make_italics, text)
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
115 text = RE_UNDERLINE.sub(self._do_make_underline, text)
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
116
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
117 return text
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
118
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
119 def _do_make_italics(self, m):
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
120 if m.group('esc'):
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
121 return m.group('before') + '*' + m.group('text') + '*'
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
122 return (
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
123 m.group('before') +
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
124 self.make_italics(m.group('text')))
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
125
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
126 def _do_make_bold(self, m):
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
127 if m.group('esc'):
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
128 return m.group('before') + '**' + m.group('text') + '**'
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
129 return (
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
130 m.group('before') +
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
131 self.make_bold(m.group('text')))
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
132
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
133 def _do_make_underline(self, m):
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
134 if m.group('esc'):
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
135 return m.group('before') + '_' + m.group('text') + '_'
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
136 return (
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
137 m.group('before') +
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
138 self.make_underline(m.group('text')))
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
139
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
140 def make_italics(self, text):
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
141 raise NotImplementedError()
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
142
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
143 def make_bold(self, text):
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
144 raise NotImplementedError()
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
145
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
146 def make_underline(self, text):
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
147 raise NotImplementedError()
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
148
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
149
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
150 class NullTextRenderer(BaseTextRenderer):
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
151 def make_bold(self, text):
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
152 return text
1
74b83e3d921e Add more states, add more tests.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
153
3
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
154 def make_italics(self, text):
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
155 return text
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
156
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
157 def make_underline(self, text):
6019eee799bf Add base classes for rendering.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
158 return text