|
|
- #!/usr/bin/python3
- # coding=utf-8
-
- from bottle import route, run, static_file, template
- import MySQLdb
-
- HOST = 'localhost'
-
-
- @route('/static/')
- def server_static(filepath):
- return static_file(filepath, root='/home/mix/PycharmProjects/kea_for_miners/static/')
-
-
- @route('/')
- def server_homepage():
- dbhost = '10.5.1.248'
- dbuser = 'kea'
- dbpass = 'kea1234'
- dbbase = 'dhcp4'
- sql = "SELECT " \
- " expire, " \
- " INET_NTOA(address) as ip4, " \
- " HEX(hwaddr)as hw_addr, " \
- " hostname " \
- " FROM lease4 " \
- "where INET_NTOA(address) like '10.5.0%'" \
- " ORDER BY expire DESC;"
- try:
- conn = MySQLdb.connect(host=dbhost, user=dbuser,
- passwd=dbpass, db=dbbase)
- except MySQLdb.Error as err:
- print("Connection error: {}".format(err))
- conn.close()
- try:
- cur = conn.cursor(MySQLdb.cursors.DictCursor)
- cur.execute(sql)
- data = cur.fetchall()
- except MySQLdb.Error as err:
- print("Query error: {}".format(err))
- conn.close()
- data_list = []
- for row in data:
- temp = []
- temp.append(row['expire'])
- temp.append(row['ip4'])
- temp.append(row['hw_addr'])
- temp.append(row['hostname'])
- data_list.append(temp)
- return template('main.tpl', A=data_list)
-
-
- @route('/hosts/')
- def server_hosts_repo():
- dbhost = '10.5.1.248'
- dbuser = 'kea'
- dbpass = 'kea1234'
- dbbase = 'dhcp4'
- sql = "SELECT " \
- "INET_NTOA(hosts.ipv4_address) AS ip4," \
- " hosts.hostname," \
- " HEX(dhcp_identifier)as hw_addr, " \
- " if(hex(inet_ntoa(lease4.address)), '+','-') as leased " \
- "FROM " \
- " hosts " \
- "LEFT JOIN" \
- " lease4" \
- " on" \
- " dhcp_identifier = hwaddr " \
- "ORDER BY ip4;" \
- # "where " \
- # " INET_NTOA(hosts.ipv4_address) LIKE '10.5.1%';"
- try:
- conn = MySQLdb.connect(host=dbhost, user=dbuser,
- passwd=dbpass, db=dbbase)
- except MySQLdb.Error as err:
- print("Connection error: {}".format(err))
- conn.close()
- try:
- cur = conn.cursor(MySQLdb.cursors.DictCursor)
- cur.execute(sql)
- data = cur.fetchall()
- except MySQLdb.Error as err:
- print("Query error: {}".format(err))
- conn.close()
- data_list = []
- for row in data:
- temp = []
- temp.append(row['ip4'])
- temp.append(row['hostname'])
- temp.append(row['hw_addr'])
- temp.append(row['leased'])
- data_list.append(temp)
- print(data_list)
- return template('hosts.tpl', A=data_list)
-
-
- run(host='0.0.0.0', port=8080, debug=True)
|