You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.4 KiB

7 years ago
  1. from bottle import route, run, static_file, template
  2. import MySQLdb
  3. HOST = 'localhost'
  4. @route('/static/')
  5. def server_static(filepath):
  6. return static_file(filepath, root='/home/mix/PycharmProjects/kea_for_miners/static/')
  7. @route('/')
  8. def server_homepage():
  9. dbhost = '10.5.1.248'
  10. dbuser = 'kea'
  11. dbpass = 'kea1234'
  12. dbbase = 'dhcp4'
  13. sql = "SELECT " \
  14. " expire, " \
  15. " INET_NTOA(address) as ip4, " \
  16. " HEX(hwaddr)as hw_addr, " \
  17. " hostname " \
  18. " FROM lease4 " \
  19. "where INET_NTOA(address) like '10.6.0%'" \
  20. " ORDER BY expire DESC;"
  21. try:
  22. conn = MySQLdb.connect(host=dbhost, user=dbuser,
  23. passwd=dbpass, db=dbbase)
  24. except MySQLdb.Error as err:
  25. print("Connection error: {}".format(err))
  26. conn.close()
  27. try:
  28. cur = conn.cursor(MySQLdb.cursors.DictCursor)
  29. cur.execute(sql)
  30. data = cur.fetchall()
  31. except MySQLdb.Error as err:
  32. print("Query error: {}".format(err))
  33. conn.close()
  34. print(data)
  35. data_list = []
  36. for row in data:
  37. temp = []
  38. temp.append(row['expire'])
  39. temp.append(row['ip4'])
  40. temp.append(row['hw_addr'])
  41. temp.append(row['hostnamea'])
  42. data_list.append(temp)
  43. print(data_list)
  44. return template('main.tpl', A = data_list)
  45. run(host=HOST, port=8080, debug=True)

Powered by TurnKey Linux.