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-2016 Eyeo GmbH | 2 # Copyright (C) 2006-2016 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 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 | 62 |
63 if line.find('=') < 0: | 63 if line.find('=') < 0: |
64 raise Exception("Could not process line '%s' in file '%s'" % (line.s
trip(), name)) | 64 raise Exception("Could not process line '%s' in file '%s'" % (line.s
trip(), name)) |
65 | 65 |
66 key, value = map(unicode.strip, line.split('=', 1)) | 66 key, value = map(unicode.strip, line.split('=', 1)) |
67 is_variant = current != notification | 67 is_variant = current != notification |
68 | 68 |
69 if key == 'inactive' and not is_variant: | 69 if key == 'inactive' and not is_variant: |
70 current['inactive'] = value.lower() not in ('', '0', 'no', 'false',
'off') | 70 current['inactive'] = value.lower() not in ('', '0', 'no', 'false',
'off') |
71 elif key == 'severity': | 71 elif key == 'severity': |
72 if value not in ('information', 'critical', 'normal'): | 72 if value not in ('information', 'critical', 'normal', 'relentless'): |
73 raise Exception("Unknown severity value '%s' in file '%s'" % (va
lue, name)) | 73 raise Exception("Unknown severity value '%s' in file '%s'" % (va
lue, name)) |
74 current['severity'] = value | 74 current['severity'] = value |
75 elif key == 'links': | 75 elif key == 'links': |
76 current['links'] = value.split() | 76 current['links'] = value.split() |
77 elif key.startswith('title.'): | 77 elif key.startswith('title.'): |
78 locale = key[len('title.'):] | 78 locale = key[len('title.'):] |
79 current['title'][locale] = value | 79 current['title'][locale] = value |
80 elif key.startswith('message.'): | 80 elif key.startswith('message.'): |
81 locale = key[len('message.'):] | 81 locale = key[len('message.'):] |
82 current['message'][locale] = value | 82 current['message'][locale] = value |
83 elif key == 'target': | 83 elif key == 'target': |
84 target = _parse_targetspec(value, name) | 84 target = _parse_targetspec(value, name) |
85 if 'targets' in notification: | 85 if 'targets' in notification: |
86 current['targets'].append(target) | 86 current['targets'].append(target) |
87 else: | 87 else: |
88 current['targets'] = [target] | 88 current['targets'] = [target] |
89 elif key == 'sample' and is_variant: | 89 elif key == 'sample' and is_variant: |
90 current['sample'] = float(value) | 90 current['sample'] = float(value) |
91 elif key in ['start', 'end']: | 91 elif key in ['start', 'end']: |
92 current[key] = datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M') | 92 current[key] = datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M') |
| 93 elif key == 'interval': |
| 94 current[key] = int(value) |
93 else: | 95 else: |
94 raise Exception("Unknown parameter '%s' in file '%s'" % (key, name)) | 96 raise Exception("Unknown parameter '%s' in file '%s'" % (key, name)) |
95 | 97 |
96 for text_key in ('title', 'message'): | 98 for text_key in ('title', 'message'): |
97 def has_default_locale(variant): | 99 def has_default_locale(variant): |
98 return 'en-US' in variant[text_key] | 100 return 'en-US' in variant[text_key] |
99 if not has_default_locale(notification): | 101 if not has_default_locale(notification): |
100 variants = notification.get('variants', []) | 102 variants = notification.get('variants', []) |
101 if not all(map(has_default_locale, variants)): | 103 if not all(map(has_default_locale, variants)): |
102 raise Exception('No %s for en-US (default language) ' | 104 raise Exception('No %s for en-US (default language) ' |
(...skipping 21 matching lines...) Expand all Loading... |
124 if not 'inactive' in notification: | 126 if not 'inactive' in notification: |
125 current_time = datetime.datetime.now() | 127 current_time = datetime.datetime.now() |
126 start = notification.pop('start', current_time) | 128 start = notification.pop('start', current_time) |
127 end = notification.pop('end', current_time) | 129 end = notification.pop('end', current_time) |
128 if not start <= current_time <= end: | 130 if not start <= current_time <= end: |
129 notification['inactive'] = True | 131 notification['inactive'] = True |
130 notifications.append(notification) | 132 notifications.append(notification) |
131 except: | 133 except: |
132 traceback.print_exc() | 134 traceback.print_exc() |
133 return notifications | 135 return notifications |
OLD | NEW |