| Index: abp/filters/parser.py |
| =================================================================== |
| --- a/abp/filters/parser.py |
| +++ b/abp/filters/parser.py |
| @@ -100,6 +100,7 @@ |
| COLLAPSE = 'collapse' |
| SITEKEY = 'sitekey' |
| DONOTTRACK = 'donottrack' |
| + CSP = 'csp' |
| def _line_type(name, field_names, format_string): |
| @@ -145,7 +146,7 @@ |
| HEADER_REGEXP = re.compile(r'\[(Adblock(?:\s*Plus\s*[\d\.]+?)?)\]', flags=re.I) |
| HIDING_FILTER_REGEXP = re.compile(r'^([^/*|@"!]*?)#([@?])?#(.+)$') |
| FILTER_OPTIONS_REGEXP = re.compile( |
| - r'\$(~?[\w-]+(?:=[^,\s]+)?(?:,~?[\w-]+(?:=[^,\s]+)?)*)$' |
| + r'\$(~?[\w-]+(?:=[^,]+)?(?:,~?[\w-]+(?:=[^,]+)?)*)$' |
| ) |
| @@ -171,10 +172,10 @@ |
| def _parse_option(option): |
| + if option.startswith('~'): |
| + return option[1:], False |
| if '=' in option: |
| return option.split('=', 1) |
| - if option.startswith('~'): |
| - return option[1:], False |
| return option, True |