10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
12 |
12 |
13 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
14 |
14 |
15 |
|
16 # import standard library |
|
17 |
|
18 # import interfaces |
|
19 from pyams_content.component.gallery.interfaces import IGalleryParagraph |
15 from pyams_content.component.gallery.interfaces import IGalleryParagraph |
20 from pyams_content.component.illustration.interfaces import IIllustrationParagraph |
16 from pyams_content.component.illustration.interfaces import IIllustrationParagraph |
21 from pyams_content.component.paragraph.interfaces import IParagraphContainer, IParagraphContainerTarget, \ |
17 from pyams_content.component.paragraph.interfaces import IParagraphContainer, IParagraphContainerTarget, \ |
22 IBaseParagraph |
18 IBaseParagraph |
23 from pyams_content.component.paragraph.interfaces.audio import IAudioParagraph |
19 from pyams_content.component.paragraph.interfaces.audio import IAudioParagraph |
30 from pyams_content.component.paragraph.interfaces.video import IVideoParagraph |
26 from pyams_content.component.paragraph.interfaces.video import IVideoParagraph |
31 from pyams_content.component.video.interfaces import IExternalVideoParagraph |
27 from pyams_content.component.video.interfaces import IExternalVideoParagraph |
32 from pyams_content.shared.imagemap.interfaces import IImageMapParagraph |
28 from pyams_content.shared.imagemap.interfaces import IImageMapParagraph |
33 from pyams_content_es.interfaces import IDocumentIndexInfo |
29 from pyams_content_es.interfaces import IDocumentIndexInfo |
34 from pyams_i18n.interfaces import II18nManager |
30 from pyams_i18n.interfaces import II18nManager |
35 |
|
36 # import packages |
|
37 from pyams_utils.adapter import adapter_config |
31 from pyams_utils.adapter import adapter_config |
38 from pyams_utils.html import html_to_text |
32 from pyams_utils.html import html_to_text |
39 from pyams_utils.traversing import get_parent |
33 from pyams_utils.traversing import get_parent |
40 |
34 |
41 |
35 |
126 """Audio paragraph index info""" |
120 """Audio paragraph index info""" |
127 info = {} |
121 info = {} |
128 manager = get_parent(paragraph, II18nManager) |
122 manager = get_parent(paragraph, II18nManager) |
129 for lang in manager.get_languages(): |
123 for lang in manager.get_languages(): |
130 for attr in ('title', 'description'): |
124 for attr in ('title', 'description'): |
131 value = getattr(paragraph, attr, {}).get(lang, '') |
125 value = (getattr(paragraph, attr, {}) or {}).get(lang, '') |
132 if value: |
126 if value: |
133 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
127 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
134 value=value) |
128 value=value) |
135 for attr in ('author', ): |
129 for attr in ('author',): |
136 value = getattr(paragraph, attr, '') |
130 value = getattr(paragraph, attr, '') |
137 if value: |
131 if value: |
138 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
132 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
139 value=value) |
133 value=value) |
140 return info |
134 return info |
145 """Video paragraph index info""" |
139 """Video paragraph index info""" |
146 info = {} |
140 info = {} |
147 manager = get_parent(paragraph, II18nManager) |
141 manager = get_parent(paragraph, II18nManager) |
148 for lang in manager.get_languages(): |
142 for lang in manager.get_languages(): |
149 for attr in ('title', 'description'): |
143 for attr in ('title', 'description'): |
150 value = getattr(paragraph, attr, {}).get(lang, '') |
144 value = (getattr(paragraph, attr, {}) or {}).get(lang, '') |
151 if value: |
145 if value: |
152 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
146 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
153 value=value) |
147 value=value) |
154 for attr in ('author', ): |
148 for attr in ('author',): |
155 value = getattr(paragraph, attr, '') |
149 value = getattr(paragraph, attr, '') |
156 if value: |
150 if value: |
157 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
151 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
158 value=value) |
152 value=value) |
159 return info |
153 return info |
168 body = (paragraph.body or {}).get(lang, '') |
162 body = (paragraph.body or {}).get(lang, '') |
169 if body: |
163 if body: |
170 info[lang] = '{old}\n{body}'.format(old=info.get(lang, ''), |
164 info[lang] = '{old}\n{body}'.format(old=info.get(lang, ''), |
171 body=html_to_text(body.replace('\r', ''))) |
165 body=html_to_text(body.replace('\r', ''))) |
172 for attr in ('title', 'description'): |
166 for attr in ('title', 'description'): |
173 value = getattr(paragraph, attr, {}).get(lang, '') |
167 value = (getattr(paragraph, attr, {}) or {}).get(lang, '') |
174 if value: |
168 if value: |
175 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
169 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
176 value=value) |
170 value=value) |
177 for attr in ('author',): |
171 for attr in ('author',): |
178 value = getattr(paragraph, attr, '') |
172 value = getattr(paragraph, attr, '') |
197 """Contact paragraph index info""" |
191 """Contact paragraph index info""" |
198 info = {} |
192 info = {} |
199 manager = get_parent(paragraph, II18nManager) |
193 manager = get_parent(paragraph, II18nManager) |
200 for lang in manager.get_languages(): |
194 for lang in manager.get_languages(): |
201 for attr in ('title', 'charge'): |
195 for attr in ('title', 'charge'): |
202 value = getattr(paragraph, attr, {}).get(lang, '') |
196 value = (getattr(paragraph, attr, {}) or {}).get(lang, '') |
203 if value: |
197 if value: |
204 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
198 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
205 value=value) |
199 value=value) |
206 for attr in ('name', 'address'): |
200 for attr in ('name', 'address'): |
207 value = getattr(paragraph, attr, '') |
201 value = getattr(paragraph, attr, '') |
240 """Verbatim paragraph index info""" |
234 """Verbatim paragraph index info""" |
241 info = {} |
235 info = {} |
242 manager = get_parent(paragraph, II18nManager) |
236 manager = get_parent(paragraph, II18nManager) |
243 for lang in manager.get_languages(): |
237 for lang in manager.get_languages(): |
244 for attr in ('title', 'quote', 'charge'): |
238 for attr in ('title', 'quote', 'charge'): |
245 value = getattr(paragraph, attr, {}).get(lang, '') |
239 value = (getattr(paragraph, attr, {}) or {}).get(lang, '') |
246 if value: |
240 if value: |
247 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
241 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
248 value=value) |
242 value=value) |
249 for attr in ('author', ): |
243 for attr in ('author',): |
250 value = getattr(paragraph, attr, '') |
244 value = getattr(paragraph, attr, '') |
251 if value: |
245 if value: |
252 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
246 info[lang] = '{old}\n{value}'.format(old=info.get(lang, ''), |
253 value=value) |
247 value=value) |
254 return info |
248 return info |