OLD | NEW |
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-present eyeo GmbH | 2 # Copyright (C) 2006-present 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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 self._data = data | 128 self._data = data |
129 self._filename = filename | 129 self._filename = filename |
130 self._params = params | 130 self._params = params |
131 self._attribute_parser = AttributeParser(self.whitelist) | 131 self._attribute_parser = AttributeParser(self.whitelist) |
132 self._seen_defaults = {} | 132 self._seen_defaults = {} |
133 | 133 |
134 def localize_string( | 134 def localize_string( |
135 self, page, name, default, comment, localedata, escapes): | 135 self, page, name, default, comment, localedata, escapes): |
136 | 136 |
137 def escape(s): | 137 def escape(s): |
138 return re.sub(r'.', | 138 return ''.join(escapes.get(c, c) for c in s) |
139 lambda match: escapes.get(match.group(0), | |
140 match.group(0)), | |
141 s, flags=re.S) | |
142 | 139 |
143 def re_escape(s): | 140 def re_escape(s): |
144 return re.escape(escape(s)) | 141 return re.escape(escape(s)) |
145 | 142 |
146 # Handle duplicated strings | 143 # Handle duplicated strings |
147 if default: | 144 if default: |
148 self._seen_defaults[(page, name)] = (default, comment) | 145 self._seen_defaults[(page, name)] = (default, comment) |
149 else: | 146 else: |
150 try: | 147 try: |
151 default, comment = self._seen_defaults[(page, name)] | 148 default, comment = self._seen_defaults[(page, name)] |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
526 stack[-1]['subitems'].append(item) | 523 stack[-1]['subitems'].append(item) |
527 stack.append(item) | 524 stack.append(item) |
528 return structured | 525 return structured |
529 | 526 |
530 | 527 |
531 converters = { | 528 converters = { |
532 'html': RawConverter, | 529 'html': RawConverter, |
533 'md': MarkdownConverter, | 530 'md': MarkdownConverter, |
534 'tmpl': TemplateConverter, | 531 'tmpl': TemplateConverter, |
535 } | 532 } |
OLD | NEW |