Пишем скрипт с функцией вывода списка доступных тарифов, из которого в дальнейшем будут извлекаться данные о скорости и создаваться правила шейпера в устройствах Mikrotik Routerboard.
Рис.1. Список доступных тарифов.
В данный момент в базе данных есть три тарифа.
Скрипт:
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import MySQLdb
import mysql_db, sys, os
def clearConsol():
os.system('clear')
def f_tarif_list():
clearConsol()
cur = mysql_db.db.cursor()
sql = ("SELECT * FROM tarifs")
cur.execute(sql)
tarifs_data = cur.fetchall()
cur.close()
print "\033[34m| %3s | %11s | %11s | %11s |\033[0m" % ('id', 'name_tarif', 'price_tarif', 'speed_tarif')
for sql_result in tarifs_data:
id, name_tarif, price_tarif, speed_tarif = sql_result
print "\033[34m| %3s | %11s | %11s | %11s |\033[0m" % (id, name_tarif, price_tarif, speed_tarif)
f_tarif_list()
Разбираем скрипт:
Подключаем нужные модули:
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import MySQLdb
import mysql_db, sys, os
Создаем функцию очистки экрана:
def clearConsol():
os.system('clear')
Создаем функцию с именем f_tarif_list, которая будет выводить список тарифов:
def f_tarif_list():
Вызываем функцию очистки экрана:
clearConsol()
Работаем с базой данных. Извлекаем из таблицы tarifs все поля:
cur = mysql_db.db.cursor()
sql = ("SELECT * FROM tarifs")
cur.execute(sql)
Заносим извлеченные данные в tarifs_data:
tarifs_data = cur.fetchall()
cur.close()
Выводим на экран шапку таблицы:
print "\033[34m| %3s | %11s | %11s | %11s |\033[0m" % ('id', 'name_tarif', 'price_tarif', 'speed_tarif')
При помощи цикла for, извлекаем данные из tarifs_data, заносим в sql_result и выводим данные на экран:
for sql_result in tarifs_data:
id, name_tarif, price_tarif, speed_tarif = sql_result
print "\033[34m| %3s | %11s | %11s | %11s |\033[0m" % (id, name_tarif, price_tarif, speed_tarif)
Вызываем функцию f_tarif_list:
f_tarif_list()
Рис.2. Список тарифов.
В результате работы функции на экран был выведен список доступных тарифов.
Евгений Рудченко специально для ASP24.


