Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 # This file is part of the Adblock Plus web scripts, | 1 # This file is part of the Adblock Plus web scripts, |
2 # Copyright (C) 2006-2017 eyeo GmbH | 2 # Copyright (C) 2006-2017 eyeo GmbH |
3 # | 3 # |
4 # Adblock Plus is free software: you can redistribute it and/or modify | 4 # Adblock Plus is free software: you can redistribute it and/or modify |
5 # it under the terms of the GNU General Public License version 3 as | 5 # it under the terms of the GNU General Public License version 3 as |
6 # published by the Free Software Foundation. | 6 # published by the Free Software Foundation. |
7 # | 7 # |
8 # Adblock Plus is distributed in the hope that it will be useful, | 8 # Adblock Plus is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
401 except KeyError: | 401 except KeyError: |
402 raise Exception('Expected symbol {} not found' | 402 raise Exception('Expected symbol {} not found' |
403 ' in {}'.format(name, path)) | 403 ' in {}'.format(name, path)) |
404 | 404 |
405 self._env = jinja2.Environment( | 405 self._env = jinja2.Environment( |
406 loader=SourceTemplateLoader(self._params['source']), | 406 loader=SourceTemplateLoader(self._params['source']), |
407 autoescape=True) | 407 autoescape=True) |
408 self._env.filters.update(filters) | 408 self._env.filters.update(filters) |
409 self._env.globals.update(globals) | 409 self._env.globals.update(globals) |
410 | 410 |
411 def _get_locale_data(self, page): | |
412 return self._params['source'].read_locale(self._params['locale'], page) | |
413 | |
411 def get_html(self, source, filename): | 414 def get_html(self, source, filename): |
412 env = self._env | 415 env = self._env |
413 code = env.compile(source, None, filename) | 416 code = env.compile(source, None, filename) |
414 template = jinja2.Template.from_code(env, code, env.globals) | 417 template = jinja2.Template.from_code(env, code, env.globals) |
415 | 418 |
416 try: | 419 try: |
417 module = template.make_module(self._params) | 420 module = template.make_module(self._params) |
418 except Exception: | 421 except Exception: |
419 env.handle_exception() | 422 env.handle_exception() |
420 | 423 |
421 for key, value in module.__dict__.iteritems(): | 424 for key, value in module.__dict__.iteritems(): |
422 if not key.startswith('_'): | 425 if not key.startswith('_'): |
423 self._params[key] = value | 426 self._params[key] = value |
424 | 427 |
425 result = unicode(module) | 428 result = unicode(module) |
426 result = self.process_links(result) | 429 result = self.process_links(result) |
427 return result | 430 return result |
428 | 431 |
429 def translate(self, default, name, comment=None): | 432 def translate(self, default, name, comment=None): |
430 return jinja2.Markup(self.localize_string( | 433 return jinja2.Markup(self.localize_string( |
431 self._params['page'], name, default, comment, | 434 self._params['page'], name, default, comment, |
432 self._params['localedata'], html_escapes | 435 self._params['localedata'], html_escapes |
433 )) | 436 )) |
434 | 437 |
435 def get_string(self, name, page=None): | 438 def get_string(self, name, page=None): |
436 if page is None: | 439 if page is None: |
437 page = self._params['page'] | 440 page = self._params['page'] |
438 | 441 |
439 localedata = self._params['source'].read_locale(self._params['locale'], | 442 localedata = self._get_locale_data(page) |
440 page) | |
441 default = localedata[name] | 443 default = localedata[name] |
Vasily Kuznetsov
2017/06/20 17:38:27
I didn't pay attention to this line when looking i
| |
442 return jinja2.Markup(self.localize_string( | 444 return jinja2.Markup(self.localize_string( |
443 page, name, default, '', localedata, html_escapes | 445 page, name, default, '', localedata, html_escapes |
444 )) | 446 )) |
445 | 447 |
446 def has_string(self, name, page=None): | 448 def has_string(self, name, page=None): |
447 if page is None: | 449 if page is None: |
448 page = self._params['page'] | 450 page = self._params['page'] |
449 | 451 |
450 localedata = self._params['source'].read_locale(self._params['locale'], | 452 localedata = self._get_locale_data(page) |
Vasily Kuznetsov
2017/06/20 17:38:27
Maybe create a small protected method for this log
Jon Sonesen
2017/06/21 07:53:54
yeah, this is good. but what about the if page is
Vasily Kuznetsov
2017/06/21 08:17:00
Yeah, all true. I was thinking to leave that part
| |
451 page) | 453 return name in localedata |
452 if name in localedata: | |
Vasily Kuznetsov
2017/06/20 17:38:28
`return name in localedata` would do the same in o
Jon Sonesen
2017/06/21 07:53:54
Acknowledged.
| |
453 return True | |
454 return False | |
455 | 454 |
456 def get_page_content(self, page, locale=None): | 455 def get_page_content(self, page, locale=None): |
457 from cms.utils import get_page_params | 456 from cms.utils import get_page_params |
458 | 457 |
459 if locale is None: | 458 if locale is None: |
460 locale = self._params['locale'] | 459 locale = self._params['locale'] |
461 return get_page_params(self._params['source'], locale, page) | 460 return get_page_params(self._params['source'], locale, page) |
462 | 461 |
463 def linkify(self, page, locale=None, **attrs): | 462 def linkify(self, page, locale=None, **attrs): |
464 if locale is None: | 463 if locale is None: |
(...skipping 25 matching lines...) Expand all Loading... | |
490 stack.pop() | 489 stack.pop() |
491 stack[-1]['subitems'].append(item) | 490 stack[-1]['subitems'].append(item) |
492 stack.append(item) | 491 stack.append(item) |
493 return structured | 492 return structured |
494 | 493 |
495 converters = { | 494 converters = { |
496 'html': RawConverter, | 495 'html': RawConverter, |
497 'md': MarkdownConverter, | 496 'md': MarkdownConverter, |
498 'tmpl': TemplateConverter, | 497 'tmpl': TemplateConverter, |
499 } | 498 } |
LEFT | RIGHT |