| 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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 subscriptions = subscriptionParser.readSubscriptions().values() | 48 subscriptions = subscriptionParser.readSubscriptions().values() |
| 49 subscriptions.sort(key=lambda s: s.name.lower()) | 49 subscriptions.sort(key=lambda s: s.name.lower()) |
| 50 | 50 |
| 51 urls = {} | 51 urls = {} |
| 52 sites = {} | 52 sites = {} |
| 53 for subscription in subscriptions: | 53 for subscription in subscriptions: |
| 54 for key in ('homepage', 'forum', 'blog', 'faq', 'contact', 'changelog',
'policy'): | 54 for key in ('homepage', 'forum', 'blog', 'faq', 'contact', 'changelog',
'policy'): |
| 55 url = getattr(subscription, key) | 55 url = getattr(subscription, key) |
| 56 if url != None: | 56 if url != None: |
| 57 urls[url] = True | 57 urls[url] = True |
| 58 for (title, url, complete) in subscription.variants: | 58 for title, url, complete in subscription.variants: |
| 59 urls[url] = True | 59 urls[url] = True |
| 60 | 60 |
| 61 pool = eventlet.GreenPool() | 61 pool = eventlet.GreenPool() |
| 62 for (url, result) in pool.imap(checkURL, urls.iterkeys()): | 62 for url, result in pool.imap(checkURL, urls.iterkeys()): |
| 63 urls[url] = result | 63 urls[url] = result |
| 64 if result is False: | 64 if result is False: |
| 65 sites[urlparse(url).netloc] = True | 65 sites[urlparse(url).netloc] = True |
| 66 for (site, result) in pool.imap(checkSite, sites.iterkeys()): | 66 for site, result in pool.imap(checkSite, sites.iterkeys()): |
| 67 sites[site] = result | 67 sites[site] = result |
| 68 | 68 |
| 69 result = [] | 69 result = [] |
| 70 for subscription in subscriptions: | 70 for subscription in subscriptions: |
| 71 s = {'name': subscription.name, 'links': []} | 71 s = {'name': subscription.name, 'links': []} |
| 72 result.append(s) | 72 result.append(s) |
| 73 for key in ('homepage', 'forum', 'blog', 'faq', 'contact', 'changelog',
'policy'): | 73 for key in ('homepage', 'forum', 'blog', 'faq', 'contact', 'changelog',
'policy'): |
| 74 url = getattr(subscription, key) | 74 url = getattr(subscription, key) |
| 75 if url != None: | 75 if url != None: |
| 76 site = urlparse(url).netloc | 76 site = urlparse(url).netloc |
| 77 s['links'].append({ | 77 s['links'].append({ |
| 78 'url': url, | 78 'url': url, |
| 79 'title': key[0].upper() + key[1:], | 79 'title': key[0].upper() + key[1:], |
| 80 'result': urls[url], | 80 'result': urls[url], |
| 81 'siteResult': site in sites and sites[site], | 81 'siteResult': site in sites and sites[site], |
| 82 }) | 82 }) |
| 83 for (title, url, complete) in subscription.variants: | 83 for title, url, complete in subscription.variants: |
| 84 site = urlparse(url).netloc | 84 site = urlparse(url).netloc |
| 85 s['links'].append({ | 85 s['links'].append({ |
| 86 'url': url, | 86 'url': url, |
| 87 'title': title, | 87 'title': title, |
| 88 'result': urls[url], | 88 'result': urls[url], |
| 89 'siteResult': site in sites and sites[site], | 89 'siteResult': site in sites and sites[site], |
| 90 }) | 90 }) |
| 91 return result | 91 return result |
| 92 | 92 |
| 93 | 93 |
| 94 if __name__ == '__main__': | 94 if __name__ == '__main__': |
| 95 setupStderr() | 95 setupStderr() |
| 96 | 96 |
| 97 subscriptions = checkSubscriptions() | 97 subscriptions = checkSubscriptions() |
| 98 outputFile = get_config().get('subscriptions', 'statusPage') | 98 outputFile = get_config().get('subscriptions', 'statusPage') |
| 99 template = get_template(get_config().get('subscriptions', 'statusTemplate')) | 99 template = get_template(get_config().get('subscriptions', 'statusTemplate')) |
| 100 template.stream({'subscriptions': subscriptions}).dump(outputFile, encoding=
'utf-8') | 100 template.stream({'subscriptions': subscriptions}).dump(outputFile, encoding=
'utf-8') |
| OLD | NEW |