From 1a1f61e29570a48ab033cd7725b406bf5a87a4d0 Mon Sep 17 00:00:00 2001 From: Emiliano Vavassori Date: Tue, 16 Jun 2015 00:16:57 +0200 Subject: [PATCH] Aggiornamento script di nuovo. --- roles/pxe/files/mac2hostname.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/roles/pxe/files/mac2hostname.py b/roles/pxe/files/mac2hostname.py index ffd751b..42f2948 100644 --- a/roles/pxe/files/mac2hostname.py +++ b/roles/pxe/files/mac2hostname.py @@ -3,6 +3,7 @@ """API to map MAC addresses to hostnames""" from contextlib import contextmanager, closing +from subprocess import check_output from sqlite3 import connect from bottle import route, run, request from json import dumps @@ -36,13 +37,6 @@ def init_tables(): 'hostname TEXT NOT NULL UNIQUE, mac TEXT UNIQUE)') cursor.execute('CREATE INDEX IF NOT EXISTS idxmac ON client(mac)') -@route('/hosts') -def hosts(): - with getcursor() as cursor: - return dumps([dict((meta[0], data) - for meta, data in zip(cursor.description, row)) - for row in cursor.execute('SELECT hostname, mac FROM client ORDER BY id')], indent=4) - def normalizemac(mac): return ':'.join(x.zfill(2) for x in mac.split(':')).upper() @@ -59,6 +53,13 @@ def getmac(ip): arp = check_output(['arp', '-n', ip]) return re.search(r'(([\da-fA-F]{1,2}\:){5}[\da-fA-F]{1,2})', arp).group(1) +@route('/hosts') +def hosts(): + with getcursor() as cursor: + return dumps([dict((meta[0], data) + for meta, data in zip(cursor.description, row)) + for row in cursor.execute('SELECT hostname, mac FROM client ORDER BY id')], indent=4) + @route('/mac2hostname') def mac2hostname(): mac, base = request.query.mac, request.query.base