| OLD | NEW | 
|    1 # This file is part of Adblock Plus <https://adblockplus.org/>, |    1 # This file is part of Adblock Plus <https://adblockplus.org/>, | 
|    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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   93     XBL = 'xbl' |   93     XBL = 'xbl' | 
|   94     DTD = 'dtd' |   94     DTD = 'dtd' | 
|   95  |   95  | 
|   96     # Other options. |   96     # Other options. | 
|   97     MATCH_CASE = 'match-case' |   97     MATCH_CASE = 'match-case' | 
|   98     DOMAIN = 'domain' |   98     DOMAIN = 'domain' | 
|   99     THIRD_PARTY = 'third-party' |   99     THIRD_PARTY = 'third-party' | 
|  100     COLLAPSE = 'collapse' |  100     COLLAPSE = 'collapse' | 
|  101     SITEKEY = 'sitekey' |  101     SITEKEY = 'sitekey' | 
|  102     DONOTTRACK = 'donottrack' |  102     DONOTTRACK = 'donottrack' | 
 |  103     CSP = 'csp' | 
|  103  |  104  | 
|  104  |  105  | 
|  105 def _line_type(name, field_names, format_string): |  106 def _line_type(name, field_names, format_string): | 
|  106     """Define a line type. |  107     """Define a line type. | 
|  107  |  108  | 
|  108     Parameters |  109     Parameters | 
|  109     ---------- |  110     ---------- | 
|  110     name: str |  111     name: str | 
|  111         The name of the line type to define. |  112         The name of the line type to define. | 
|  112     field_names: str or list |  113     field_names: str or list | 
| (...skipping 25 matching lines...) Expand all  Loading... | 
|  138 Include = _line_type('Include', 'target', '%include {0.target}%') |  139 Include = _line_type('Include', 'target', '%include {0.target}%') | 
|  139  |  140  | 
|  140  |  141  | 
|  141 METADATA_REGEXP = re.compile(r'!\s*(\w+)\s*:\s*(.*)') |  142 METADATA_REGEXP = re.compile(r'!\s*(\w+)\s*:\s*(.*)') | 
|  142 METADATA_KEYS = {'Homepage', 'Title', 'Expires', 'Checksum', 'Redirect', |  143 METADATA_KEYS = {'Homepage', 'Title', 'Expires', 'Checksum', 'Redirect', | 
|  143                  'Version'} |  144                  'Version'} | 
|  144 INCLUDE_REGEXP = re.compile(r'%include\s+(.+)%') |  145 INCLUDE_REGEXP = re.compile(r'%include\s+(.+)%') | 
|  145 HEADER_REGEXP = re.compile(r'\[(Adblock(?:\s*Plus\s*[\d\.]+?)?)\]', flags=re.I) |  146 HEADER_REGEXP = re.compile(r'\[(Adblock(?:\s*Plus\s*[\d\.]+?)?)\]', flags=re.I) | 
|  146 HIDING_FILTER_REGEXP = re.compile(r'^([^/*|@"!]*?)#([@?])?#(.+)$') |  147 HIDING_FILTER_REGEXP = re.compile(r'^([^/*|@"!]*?)#([@?])?#(.+)$') | 
|  147 FILTER_OPTIONS_REGEXP = re.compile( |  148 FILTER_OPTIONS_REGEXP = re.compile( | 
|  148     r'\$(~?[\w-]+(?:=[^,\s]+)?(?:,~?[\w-]+(?:=[^,\s]+)?)*)$' |  149     r'\$(~?[\w-]+(?:=[^,]+)?(?:,~?[\w-]+(?:=[^,]+)?)*)$' | 
|  149 ) |  150 ) | 
|  150  |  151  | 
|  151  |  152  | 
|  152 def _parse_comment(text): |  153 def _parse_comment(text): | 
|  153     match = METADATA_REGEXP.match(text) |  154     match = METADATA_REGEXP.match(text) | 
|  154     if match and match.group(1) in METADATA_KEYS: |  155     if match and match.group(1) in METADATA_KEYS: | 
|  155         return Metadata(match.group(1), match.group(2)) |  156         return Metadata(match.group(1), match.group(2)) | 
|  156     return Comment(text[1:].strip()) |  157     return Comment(text[1:].strip()) | 
|  157  |  158  | 
|  158  |  159  | 
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  312     Raises |  313     Raises | 
|  313     ------ |  314     ------ | 
|  314     ParseError |  315     ParseError | 
|  315         Thrown during iteration for invalid filter list lines. |  316         Thrown during iteration for invalid filter list lines. | 
|  316     TypeError |  317     TypeError | 
|  317         If `lines` is not iterable. |  318         If `lines` is not iterable. | 
|  318  |  319  | 
|  319     """ |  320     """ | 
|  320     for line in lines: |  321     for line in lines: | 
|  321         yield parse_line(line) |  322         yield parse_line(line) | 
| OLD | NEW |