From 4c81e5f7614946a918d36dbfdccf27e7110ad3ea Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Fri, 12 Oct 2018 00:13:17 +0200 Subject: Cleanup whois parsing --- app.py | 7 ++++++- whois.py | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app.py b/app.py index 85bfd62..de3e70a 100644 --- a/app.py +++ b/app.py @@ -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(): diff --git a/whois.py b/whois.py index 57993f4..2681db0 100644 --- a/whois.py +++ b/whois.py @@ -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 -- cgit v1.3.1