Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: sitescripts/subscriptions/web/fallback.py

Issue 29670635: Issue 5844 - Remove redundant parentheses in abpssembly (Closed) Base URL: https://hg.adblockplus.org/abpssembly/
Patch Set: Created Jan. 16, 2018, 5:58 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sitescripts/subscriptions/subscriptionParser.py ('k') | sitescripts/templateFilters.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
11 # GNU General Public License for more details. 11 # GNU General Public License for more details.
12 # 12 #
13 # You should have received a copy of the GNU General Public License 13 # You should have received a copy of the GNU General Public License
14 # along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. 14 # along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
15 15
16 from time import time 16 from time import time
17 from urlparse import urlparse, parse_qs 17 from urlparse import urlparse, parse_qs
18 import sys 18 import sys
19 import os 19 import os
20 import re 20 import re
21 from sitescripts.utils import get_config, cached, setupStderr 21 from sitescripts.utils import get_config, cached, setupStderr
22 from sitescripts.web import url_handler 22 from sitescripts.web import url_handler
23 import sitescripts.subscriptions.subscriptionParser as subscriptionParser 23 import sitescripts.subscriptions.subscriptionParser as subscriptionParser
24 24
25 25
26 @url_handler('/getSubscription') 26 @url_handler('/getSubscription')
27 def handleSubscriptionFallbackRequest(environ, start_response): 27 def handleSubscriptionFallbackRequest(environ, start_response):
28 setupStderr(environ['wsgi.errors']) 28 setupStderr(environ['wsgi.errors'])
29 29
30 (redirects, gone) = getData() 30 redirects, gone = getData()
31 31
32 start_response('200 OK', [('Content-Type', 'text/plain')]) 32 start_response('200 OK', [('Content-Type', 'text/plain')])
33 33
34 url = None 34 url = None
35 params = parse_qs(environ.get('QUERY_STRING', '')) 35 params = parse_qs(environ.get('QUERY_STRING', ''))
36 if 'url' in params: 36 if 'url' in params:
37 url = params['url'][0] 37 url = params['url'][0]
38 38
39 if url and url in gone: 39 if url and url in gone:
40 return ['410'] 40 return ['410']
41 elif url and url in redirects: 41 elif url and url in redirects:
42 return ['301 %s' % redirects[url]] 42 return ['301 %s' % redirects[url]]
43 43
44 return [] 44 return []
45 45
46 46
47 @cached(600) 47 @cached(600)
48 def getData(): 48 def getData():
49 processed = set() 49 processed = set()
50 50
51 (redirectData, goneData) = subscriptionParser.getFallbackData() 51 redirectData, goneData = subscriptionParser.getFallbackData()
52 redirects = processData(redirectData, processed, {}) 52 redirects = processData(redirectData, processed, {})
53 gone = processData(goneData, processed, set()) 53 gone = processData(goneData, processed, set())
54 54
55 return (redirects, gone) 55 return (redirects, gone)
56 56
57 57
58 def processData(data, processed, var): 58 def processData(data, processed, var):
59 data = data.replace('\r', '') 59 data = data.replace('\r', '')
60 data = data.split('\n') 60 data = data.split('\n')
61 61
(...skipping 21 matching lines...) Expand all
83 print >>sys.stderr, 'Gone entry with a target: %s' % line 83 print >>sys.stderr, 'Gone entry with a target: %s' % line
84 if line in processed: 84 if line in processed:
85 print >>sys.stderr, 'Multiple instructions for URL %s' % line 85 print >>sys.stderr, 'Multiple instructions for URL %s' % line
86 86
87 if isinstance(var, set): 87 if isinstance(var, set):
88 var.add(line) 88 var.add(line)
89 else: 89 else:
90 var[line] = currentTarget 90 var[line] = currentTarget
91 91
92 return var 92 return var
OLDNEW
« no previous file with comments | « sitescripts/subscriptions/subscriptionParser.py ('k') | sitescripts/templateFilters.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld