Меню
Контакты
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Рассмотрим скрипт с функцией удаления тарифа для Pythonix

 19 Окт 2011    MikroTik, Scripts

Не будем многословными. Вот, собственно, и сам скрипт:

#!/usr/bin/env python

# -*- coding: utf_8 -*-

import MySQLdb

import mysql_db, time

def f_del_tarif(id_tarif):

if raw_input("Вы уверенны что хотите удалить тариф? y/n: ")=="y":

cur = mysql_db.db.cursor()

sql = "DELETE FROM tarifs WHERE id = '%s'" % (id_tarif)

cur.execute(sql)

cur.close()

print "\033[31m| Тариф удален |\033[0m"

time.sleep(1)

return()

else:

print "\033[31m| Тариф не удален |\033[0m"

time.sleep(1)

return()

f_del_tarif(4)

 

Разбираем скрипт:

Перед запуском функции для удаления тарифа выполним функцию, которая выведет список тарифов, и функцию raw_input, которая примет значения, введенные администратором, и поместит их в переменную id_tarif:

tarif_list.f_tarif_list()

  id_tarif = raw_input("Введите ID тарифа, который нужно удалить>>> ")

 

 Список тарифов

Рис.1. Список тарифов.

 

Импортируем нужные модули:

#!/usr/bin/env python

# -*- coding: utf_8 -*-

import MySQLdb

import mysql_db, time

Создаем функцию f_del_tarif, в которую будет передаваться значение id_tarif:

def f_del_tarif(id_tarif):

Выводим сообщение "Вы уверенны, что хотите удалить тариф?":

if raw_input("Вы уверенны, что хотите удалить тариф? y/n: ")=="y":

 

 Подтверждение удаления тарифа

Рис.2. Подтверждение удаления.

 

Если администратор введет y, то произойдет удаление записи с id равным id_tarif и выведется сообщение об успешном удалении тарифа.

cur = mysql_db.db.cursor()

sql = "DELETE FROM tarifs WHERE id = '%s'" % (id_tarif)

cur.execute(sql)

cur.close()

print "\033[31m| Тариф удален |\033[0m"

time.sleep(1)

return()

 

 Тариф удален

Рис.3. Тариф удален.

 

Если администратор не введет y, то выведется сообщение "Тариф не удален", и функция завершит свою работу.

else:

print "\033[31m| Тариф не удален |\033[0m"

time.sleep(1)

return()

 

 Тариф не удален

Рис.4. Тариф не удален.

 

f_del_tarif(id_tarif) — вызов функции.

 

 Список тарифов после удаления

Рис.5. Новый список тарифов.

 

В результате работы функции в нашем списке стало на один тариф меньше.

 

Евгений Рудченко специально для ASP24