OLD | NEW |
1 # coding: utf-8 | 1 # coding: utf-8 |
2 | 2 |
3 # This file is part of the Adblock Plus web scripts, | 3 # This file is part of the Adblock Plus web scripts, |
4 # Copyright (C) 2006-2015 Eyeo GmbH | 4 # Copyright (C) 2006-2015 Eyeo GmbH |
5 # | 5 # |
6 # Adblock Plus is free software: you can redistribute it and/or modify | 6 # Adblock Plus is free software: you can redistribute it and/or modify |
7 # it under the terms of the GNU General Public License version 3 as | 7 # it under the terms of the GNU General Public License version 3 as |
8 # published by the Free Software Foundation. | 8 # published by the Free Software Foundation. |
9 # | 9 # |
10 # Adblock Plus is distributed in the hope that it will be useful, | 10 # Adblock Plus is distributed in the hope that it will be useful, |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 Converter.__init__(self, *args, **kwargs) | 285 Converter.__init__(self, *args, **kwargs) |
286 | 286 |
287 filters = { | 287 filters = { |
288 "translate": self.translate, | 288 "translate": self.translate, |
289 "linkify": self.linkify, | 289 "linkify": self.linkify, |
290 "toclist": self.toclist, | 290 "toclist": self.toclist, |
291 } | 291 } |
292 | 292 |
293 globals = { | 293 globals = { |
294 "get_string": self.get_string, | 294 "get_string": self.get_string, |
| 295 "get_page_content": self.get_page_content, |
295 } | 296 } |
296 | 297 |
297 for dirname, dictionary in [("filters", filters), ("globals", globals)]: | 298 for dirname, dictionary in [("filters", filters), ("globals", globals)]: |
298 for filename in self._params["source"].list_files(dirname): | 299 for filename in self._params["source"].list_files(dirname): |
299 root, ext = os.path.splitext(filename) | 300 root, ext = os.path.splitext(filename) |
300 if ext.lower() != ".py": | 301 if ext.lower() != ".py": |
301 continue | 302 continue |
302 | 303 |
303 path = "%s/%s" % (dirname, filename) | 304 path = "%s/%s" % (dirname, filename) |
304 code = self._params["source"].read_file(path) | 305 code = self._params["source"].read_file(path) |
(...skipping 30 matching lines...) Expand all Loading... |
335 # Note: We currently ignore the comment, it is only relevant when | 336 # Note: We currently ignore the comment, it is only relevant when |
336 # generating the master translation. | 337 # generating the master translation. |
337 localedata = self._params["localedata"] | 338 localedata = self._params["localedata"] |
338 return jinja2.Markup(self.localize_string(name, default, localedata, html_es
capes)) | 339 return jinja2.Markup(self.localize_string(name, default, localedata, html_es
capes)) |
339 | 340 |
340 def get_string(self, name, page): | 341 def get_string(self, name, page): |
341 localedata = self._params["source"].read_locale(self._params["locale"], page
) | 342 localedata = self._params["source"].read_locale(self._params["locale"], page
) |
342 default = localedata[name] | 343 default = localedata[name] |
343 return jinja2.Markup(self.localize_string(name, default, localedata, html_es
capes)) | 344 return jinja2.Markup(self.localize_string(name, default, localedata, html_es
capes)) |
344 | 345 |
| 346 def get_page_content(self, page, locale=None): |
| 347 from cms.utils import get_page_params |
| 348 |
| 349 if locale is None: |
| 350 locale = self._params["locale"] |
| 351 params = get_page_params(self._params["source"], locale, page) |
| 352 return {k: params[k] for k in ("head", "body")} |
| 353 |
345 def linkify(self, page, locale=None, **attrs): | 354 def linkify(self, page, locale=None, **attrs): |
346 if locale is None: | 355 if locale is None: |
347 locale = self._params["locale"] | 356 locale = self._params["locale"] |
348 | 357 |
349 locale, url = self._params["source"].resolve_link(page, locale) | 358 locale, url = self._params["source"].resolve_link(page, locale) |
350 return jinja2.Markup('<a%s>' % ''.join( | 359 return jinja2.Markup('<a%s>' % ''.join( |
351 ' %s="%s"' % (name, jinja2.escape(value)) for name, value in [ | 360 ' %s="%s"' % (name, jinja2.escape(value)) for name, value in [ |
352 ('href', url), | 361 ('href', url), |
353 ('hreflang', locale) | 362 ('hreflang', locale) |
354 ] + attrs.items() | 363 ] + attrs.items() |
(...skipping 16 matching lines...) Expand all Loading... |
371 stack.pop() | 380 stack.pop() |
372 stack[-1]["subitems"].append(item) | 381 stack[-1]["subitems"].append(item) |
373 stack.append(item) | 382 stack.append(item) |
374 return structured | 383 return structured |
375 | 384 |
376 converters = { | 385 converters = { |
377 "html": RawConverter, | 386 "html": RawConverter, |
378 "md": MarkdownConverter, | 387 "md": MarkdownConverter, |
379 "tmpl": TemplateConverter, | 388 "tmpl": TemplateConverter, |
380 } | 389 } |
OLD | NEW |