| LEFT | RIGHT |
| (no file at all) | |
| 1 # coding: utf-8 | 1 # coding: utf-8 |
| 2 | 2 |
| 3 # This Source Code is subject to the terms of the Mozilla Public License | 3 # This Source Code is subject to the terms of the Mozilla Public License |
| 4 # version 2.0 (the "License"). You can obtain a copy of the License at | 4 # version 2.0 (the "License"). You can obtain a copy of the License at |
| 5 # http://mozilla.org/MPL/2.0/. | 5 # http://mozilla.org/MPL/2.0/. |
| 6 | 6 |
| 7 import MySQLdb, os, sys, re, marshal | 7 import MySQLdb, os, sys, re, marshal |
| 8 from datetime import date | 8 from datetime import date |
| 9 from time import time | 9 from time import time |
| 10 from email.utils import parseaddr | 10 from email.utils import parseaddr |
| 11 from sitescripts.utils import get_config, setupStderr | 11 from sitescripts.utils import get_config, setupStderr |
| 12 from sitescripts.templateFilters import formatmime | 12 from sitescripts.templateFilters import formatmime |
| 13 from sitescripts.reports.utils import mailDigest, getReports, getReportSubscript
ions, calculateReportSecret, getDigestId, getDigestSecret | 13 from sitescripts.reports.utils import mailDigest, getReports, getReportSubscript
ions, calculateReportSecret, getDigestId, getDigestSecret, getUserUsefulnessScor
e |
| 14 import sitescripts.subscriptions.subscriptionParser as subscriptionParser | 14 import sitescripts.subscriptions.subscriptionParser as subscriptionParser |
| 15 | 15 |
| 16 def loadSubscriptions(): | 16 def loadSubscriptions(): |
| 17 global interval, weekDay | 17 global interval, weekDay |
| 18 | 18 |
| 19 subscriptions = subscriptionParser.readSubscriptions() | 19 subscriptions = subscriptionParser.readSubscriptions() |
| 20 | 20 |
| 21 results = {} | 21 results = {} |
| 22 resultList = [] | 22 resultList = [] |
| 23 for subscription in subscriptions.values(): | 23 for subscription in subscriptions.values(): |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 elif report['hasscreenshot'] == 2: | 134 elif report['hasscreenshot'] == 2: |
| 135 weight += 0.3 | 135 weight += 0.3 |
| 136 if report['knownissues'] > 0: | 136 if report['knownissues'] > 0: |
| 137 weight -= 0.3 | 137 weight -= 0.3 |
| 138 if report['comment'] != None: | 138 if report['comment'] != None: |
| 139 if re.search(r'\btest\b', report['comment'], re.IGNORECASE): | 139 if re.search(r'\btest\b', report['comment'], re.IGNORECASE): |
| 140 weight -= 0.5 | 140 weight -= 0.5 |
| 141 elif re.search(r'\S', report['comment']): | 141 elif re.search(r'\S', report['comment']): |
| 142 weight += 0.5 | 142 weight += 0.5 |
| 143 if report['contact'] != None: | 143 if report['contact'] != None: |
| 144 weight += 0.3 | 144 weight += getUserUsefulnessScore(report['contact']) |
| 145 | 145 |
| 146 weight += (report['ctime'] - startTime) / (currentTime - startTime) * 0.2 | 146 weight += (report['ctime'] - startTime) / (currentTime - startTime) * 0.2 |
| 147 return weight | 147 return weight |
| 148 | 148 |
| 149 if __name__ == '__main__': | 149 if __name__ == '__main__': |
| 150 setupStderr() | 150 setupStderr() |
| 151 | 151 |
| 152 if len(sys.argv) < 2: | 152 if len(sys.argv) < 2: |
| 153 raise Exception('No interval specified') | 153 raise Exception('No interval specified') |
| 154 | 154 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 165 if interval == 'week': | 165 if interval == 'week': |
| 166 startTime = currentTime - 7*24*60*60 | 166 startTime = currentTime - 7*24*60*60 |
| 167 elif interval == 'day': | 167 elif interval == 'day': |
| 168 startTime = currentTime - 24*60*60 | 168 startTime = currentTime - 24*60*60 |
| 169 | 169 |
| 170 fakeSubscription = {'url': 'https://fake.adblockplus.org', 'name': get_config(
).get('reports', 'defaultSubscriptionName'), 'email': get_config().get('reports'
, 'defaultSubscriptionRecipient')} | 170 fakeSubscription = {'url': 'https://fake.adblockplus.org', 'name': get_config(
).get('reports', 'defaultSubscriptionName'), 'email': get_config().get('reports'
, 'defaultSubscriptionRecipient')} |
| 171 subscriptions, subscriptionList = loadSubscriptions() | 171 subscriptions, subscriptionList = loadSubscriptions() |
| 172 subscriptionList.append(fakeSubscription) | 172 subscriptionList.append(fakeSubscription) |
| 173 reports = scanReports() | 173 reports = scanReports() |
| 174 sendNotifications(reports) | 174 sendNotifications(reports) |
| LEFT | RIGHT |