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 12 matching lines...) Expand all Loading... |
23 from StringIO import StringIO | 23 from StringIO import StringIO |
24 | 24 |
25 from sitescripts.utils import get_config | 25 from sitescripts.utils import get_config |
26 | 26 |
27 | 27 |
28 def _parse_targetspec(value, name): | 28 def _parse_targetspec(value, name): |
29 target = {} | 29 target = {} |
30 | 30 |
31 items = [ | 31 items = [ |
32 (r'^(extension|application|platform)(=)(.+)$', { | 32 (r'^(extension|application|platform)(=)(.+)$', { |
33 '=': (lambda k, v: {k: v}), | 33 '=': lambda k, v: {k: v}, |
34 }), | 34 }), |
35 (r'^(extension|application|platform)Version(=|\>=|\<=)(.+)$', { | 35 (r'^(extension|application|platform)Version(=|\>=|\<=)(.+)$', { |
36 '>=': (lambda k, v: {k + 'MinVersion': v}), | 36 '>=': lambda k, v: {k + 'MinVersion': v}, |
37 '<=': (lambda k, v: {k + 'MaxVersion': v}), | 37 '<=': lambda k, v: {k + 'MaxVersion': v}, |
38 '=': (lambda k, v: {k + 'MinVersion': v, k + 'MaxVersion': v}), | 38 '=': lambda k, v: {k + 'MinVersion': v, k + 'MaxVersion': v}, |
39 }), | 39 }), |
40 (r'^(blockedTotal)(=|\>=|\<=)(\d+)$', { | 40 (r'^(blockedTotal)(=|\>=|\<=)(\d+)$', { |
41 '>=': (lambda k, v: {k + 'Min': int(v)}), | 41 '>=': lambda k, v: {k + 'Min': int(v)}, |
42 '<=': (lambda k, v: {k + 'Max': int(v)}), | 42 '<=': lambda k, v: {k + 'Max': int(v)}, |
43 '=': (lambda k, v: {k + 'Min': int(v), k + 'Max': int(v)}), | 43 '=': lambda k, v: {k + 'Min': int(v), k + 'Max': int(v)}, |
44 }), | 44 }), |
45 (r'^(locales)(=)([\w\-,]+)$', { | 45 (r'^(locales)(=)([\w\-,]+)$', { |
46 '=': (lambda k, v: {k: v.split(',')}), | 46 '=': lambda k, v: {k: v.split(',')}, |
47 }), | 47 }), |
48 ] | 48 ] |
49 | 49 |
50 try: | 50 try: |
51 for spec in value.split(): | 51 for spec in value.split(): |
52 for regx, ops in items: | 52 for regx, ops in items: |
53 m = re.search(regx, spec) | 53 m = re.search(regx, spec) |
54 if m: | 54 if m: |
55 key, op, value = m.groups() | 55 key, op, value = m.groups() |
56 target.update(ops[op](key, value)) | 56 target.update(ops[op](key, value)) |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 if not 'inactive' in notification: | 148 if not 'inactive' in notification: |
149 current_time = datetime.datetime.now() | 149 current_time = datetime.datetime.now() |
150 start = notification.pop('start', current_time) | 150 start = notification.pop('start', current_time) |
151 end = notification.pop('end', current_time) | 151 end = notification.pop('end', current_time) |
152 if not start <= current_time <= end: | 152 if not start <= current_time <= end: |
153 notification['inactive'] = True | 153 notification['inactive'] = True |
154 notifications.append(notification) | 154 notifications.append(notification) |
155 except: | 155 except: |
156 traceback.print_exc() | 156 traceback.print_exc() |
157 return notifications | 157 return notifications |
OLD | NEW |