diff options
| author | Yuval Adam <_@yuv.al> | 2018-10-12 00:13:17 +0200 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2018-10-12 00:13:17 +0200 |
| commit | 4c81e5f7614946a918d36dbfdccf27e7110ad3ea (patch) | |
| tree | 5023ea8f84f974c7b3fe4b4f03eff7b38abbe071 | |
| parent | 7c5cc0d1fe9cb8ac44848827fdcf78691642c98f (diff) | |
Cleanup whois parsing
| -rw-r--r-- | app.py | 7 | ||||
| -rw-r--r-- | whois.py | 4 |
2 files changed, 8 insertions, 3 deletions
@@ -1,5 +1,6 @@ from flask import Flask, request from os import environ +from whois import whois app = Flask(__name__) @@ -8,6 +9,9 @@ env = 'PROD' if 'PROD' in environ else 'DEV' TEMPLATE = ''' /----------------------------------------\\ | {ip:39}| +| {route:39}| +| {origin:39}| +| {descr:39}| | | | Created by Yuval Adam | | https://github.com/yuvadm/ipcli.app | @@ -28,7 +32,8 @@ def get_ip(request): @app.route('/') def index(): ip = get_ip(request) - return TEMPLATE.format(ip=ip) + w = whois(ip) + return TEMPLATE.format(ip=ip, route=w['route'], origin=w['origin'], descr=w['descr']) @app.route('/p') def plain(): @@ -3,11 +3,11 @@ from subprocess import run def extract_field(field, response): for line in response: if line.startswith(field): - return line.split(' ')[-1] + return line.split(' ')[-1].strip() def whois(ip): cp = run(['whois', ip], capture_output=True) lines = cp.stdout.decode().split('\n') - fields = ['route', 'origin'] + fields = ['route', 'origin', 'descr'] res = {f: extract_field(f, lines) for f in fields} return res |
