|  | @@ -1,9 +1,12 @@
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | 
 |  | +from flask.ext.babel import gettext
 | 
											
												
													
														|  |  name = "Self IP"
 |  |  name = "Self IP"
 | 
											
												
													
														|  | -description = "Display your source IP address"
 |  | 
 | 
											
												
													
														|  | 
 |  | +description = gettext('Display your source IP address if the query expression is "ip"')
 | 
											
												
													
														|  |  default_on = True
 |  |  default_on = True
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +# attach callback to the pre search hook
 | 
											
												
													
														|  | 
 |  | +#  request: flask request object
 | 
											
												
													
														|  | 
 |  | +#  ctx: the whole local context of the pre search hook
 | 
											
												
													
														|  |  def pre_search(request, ctx):
 |  |  def pre_search(request, ctx):
 | 
											
												
													
														|  |      if ctx['search'].query == 'ip':
 |  |      if ctx['search'].query == 'ip':
 | 
											
												
													
														|  |          x_forwarded_for = request.headers.getlist("X-Forwarded-For")
 |  |          x_forwarded_for = request.headers.getlist("X-Forwarded-For")
 | 
											
										
											
												
													
														|  | @@ -13,5 +16,6 @@ def pre_search(request, ctx):
 | 
											
												
													
														|  |              ip = request.remote_addr
 |  |              ip = request.remote_addr
 | 
											
												
													
														|  |          ctx['search'].answers.clear()
 |  |          ctx['search'].answers.clear()
 | 
											
												
													
														|  |          ctx['search'].answers.add(ip)
 |  |          ctx['search'].answers.add(ip)
 | 
											
												
													
														|  | 
 |  | +        # return False prevents exeecution of the original block
 | 
											
												
													
														|  |          return False
 |  |          return False
 | 
											
												
													
														|  |      return True
 |  |      return True
 |