annotate jouvence/document.py @ 31:9ae14e9615e6

docs: Add Sphynx documentation and code docstrings.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 15 Jan 2017 22:41:49 -0800
parents 2ef526c301cc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1 import sys
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4 class JouvenceDocument:
31
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
5 """Represents a Fountain screenplay in a structured way.
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
6
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
7 A screenplay contains:
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
8
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
9 * A title page (optional) with a key/value dictionary of settings.
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
10 * A list of scenes.
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
11 * Each scene contains a list of paragraphs of various types.
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
12 """
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
13 def __init__(self):
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
14 self.title_values = {}
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
15 self.scenes = []
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
16
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
17 def addScene(self, header=None):
31
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
18 """Adds a scene with the specified header."""
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
19 s = JouvenceScene()
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
20 if header:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
21 s.header = header
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
22 self.scenes.append(s)
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
23 return s
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
24
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
25 def lastScene(self, auto_create=True):
31
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
26 """Gets the last scene in the screenplay.
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
27
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
28 `auto_create`
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
29 If ``True``, and the screenplay has no scenes, create
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
30 a scene with an empty header text. Otherwise, return
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
31 ``None``.
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
32 """
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
33 try:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
34 return self.scenes[-1]
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
35 except IndexError:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
36 if auto_create:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37 s = self.addScene()
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
38 return s
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
39 return None
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
40
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
41 def lastParagraph(self):
31
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
42 """Gets the last paragraph of the last scene in the screenplay.
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
43
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
44 If there's no scene in the screenplay, return ``None``.
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
45 """
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
46 s = self.lastScene(False)
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
47 if s:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
48 return s.lastParagraph()
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
49 return None
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
50
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
51
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
52 class JouvenceScene:
31
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
53 """A scene in a screenplay."""
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
54 def __init__(self):
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
55 self.header = None
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
56 self.paragraphs = []
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
57 self._adders = {}
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
58
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
59 def __getattr__(self, name):
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
60 if name.startswith('add'):
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
61 add_type_name = name[3:]
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
62 try:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
63 adder = self._adders[add_type_name]
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
64 except KeyError:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
65 module = sys.modules[__name__]
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
66 add_type = getattr(module,
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
67 'TYPE_%s' % add_type_name.upper())
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
68
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
69 def _type_adder(_text):
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
70 new_p = JouvenceSceneElement(add_type, _text)
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
71 self.paragraphs.append(new_p)
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
72 return new_p
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
73
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
74 adder = _type_adder
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
75 self._adders[add_type_name] = adder
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
76 return adder
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
77 else:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
78 raise AttributeError
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
79
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
80 def addPageBreak(self):
31
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
81 """Adds a page break (paragraph with ``TYPE_PAGEBREAK`` type)."""
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
82 self.paragraphs.append(JouvenceSceneElement(TYPE_PAGEBREAK, None))
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
83
24
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
84 def addSection(self, depth, text):
31
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
85 """Adds a section (a :class:`~JouvenceSceneSection` instance)."""
24
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
86 self.paragraphs.append(JouvenceSceneSection(depth, text))
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
87
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
88 def lastParagraph(self):
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
89 try:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
90 return self.paragraphs[-1]
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
91 except IndexError:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
92 return None
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
93
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
94
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
95 class JouvenceSceneElement:
31
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
96 """An element of a screenplay scene, _e.g._ an action, a dialogue
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
97 line, a parenthetical, etc.
9ae14e9615e6 docs: Add Sphynx documentation and code docstrings.
Ludovic Chabant <ludovic@chabant.com>
parents: 24
diff changeset
98 """
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
99 def __init__(self, el_type, text):
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
100 self.type = el_type
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
101 self.text = text
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
102
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
103 def __str__(self):
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
104 return '%s: %s' % (
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
105 _scene_element_type_str(self.type),
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
106 _ellipsis(self.text, 15))
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
107
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
108
24
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
109 class JouvenceSceneSection(JouvenceSceneElement):
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
110 def __init__(self, depth, text):
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
111 super().__init__(TYPE_SECTION, text)
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
112 self.depth = depth
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
113
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
114
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
115 TYPE_ACTION = 0
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
116 TYPE_CENTEREDACTION = 1
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
117 TYPE_CHARACTER = 2
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
118 TYPE_DIALOG = 3
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
119 TYPE_PARENTHETICAL = 4
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
120 TYPE_TRANSITION = 5
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
121 TYPE_LYRICS = 6
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
122 TYPE_PAGEBREAK = 7
24
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
123 TYPE_SECTION = 8
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
124 TYPE_SYNOPSIS = 9
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
125
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
126
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
127 def _scene_element_type_str(t):
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
128 if t == TYPE_ACTION:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
129 return 'ACTION'
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
130 if t == TYPE_CENTEREDACTION:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
131 return 'CENTEREDACTION'
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
132 if t == TYPE_CHARACTER:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
133 return 'CHARACTER'
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
134 if t == TYPE_DIALOG:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
135 return 'DIALOG'
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
136 if t == TYPE_PARENTHETICAL:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
137 return 'PARENTHETICAL'
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
138 if t == TYPE_TRANSITION:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
139 return 'TRANSITION'
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
140 if t == TYPE_LYRICS:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
141 return 'LYRICS'
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
142 if t == TYPE_PAGEBREAK:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
143 return 'PAGEBREAK'
24
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
144 if t == TYPE_SECTION:
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
145 return 'SECTION'
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
146 if t == TYPE_SYNOPSIS:
2ef526c301cc Add support for sections and synopsis.
Ludovic Chabant <ludovic@chabant.com>
parents: 13
diff changeset
147 return 'SYNOPSIS'
13
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
148 raise NotImplementedError()
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
149
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
150
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
151 def _ellipsis(text, length):
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
152 if len(text) > length:
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
153 return text[:length - 3] + '...'
ee741bbe96a8 Rename to 'Jouvence'.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
154 return text