| 
					
				 | 
			
			
				@@ -1,6 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # SPDX-License-Identifier: AGPL-3.0-or-later 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-from urllib.parse import quote_plus 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from urllib.parse import quote_plus, urlparse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from searx.data import EXTERNAL_BANGS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 LEAF_KEY = chr(16) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -40,9 +40,15 @@ def get_bang_definition_and_ac(external_bangs_db, bang): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def resolve_bang_definition(bang_definition, query): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     url, rank = bang_definition.split(chr(1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    url = url.replace(chr(2), quote_plus(query)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if url.startswith('//'): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         url = 'https:' + url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if query: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        url = url.replace(chr(2), quote_plus(query)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # go to main instead of search page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        o = urlparse(url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        url = o.scheme + '://' + o.netloc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     rank = int(rank) if len(rank) > 0 else 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return (url, rank) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |