]> git.ipfire.org Git - ipfire.org.git/blob - src/web/location.py
Merge remote-tracking branch 'origin/master'
[ipfire.org.git] / src / web / location.py
1
2 #!/usr/bin/python
3
4 import logging
5 import tornado.gen
6 import tornado.web
7
8 from . import base
9
10 class IndexHandler(base.BaseHandler):
11 def get(self):
12 self.redirect("/lookup/%s" % self.get_remote_ip())
13
14
15 class LookupHandler(base.BaseHandler):
16 @tornado.gen.coroutine
17 def get(self, address):
18 peer = self.geoip.get_all(address)
19 if peer:
20 peer["country_name"] = self.geoip.get_country_name(peer.country)
21
22 # Lookup address
23 address = self.geoip.lookup(address)
24
25 # Lookup blacklists
26 is_blacklisted = yield address.is_blacklisted()
27
28 self.render("location/lookup.html",
29 address=address, is_blacklisted=is_blacklisted, peer=peer)
30
31
32 class BlacklistsHandler(base.BaseHandler):
33 @tornado.gen.coroutine
34 def get(self, address):
35 peer = self.geoip.get_all(address)
36
37 # Lookup address
38 address = self.geoip.lookup(address)
39
40 # Lookup blacklists
41 blacklists = yield address.get_blacklists()
42
43 self.render("location/blacklists.html",
44 address=address, blacklists=blacklists)