Здравствуйте, прошу помощи у людей которые знают python, данный скрипт должен подключаться по ssh к роутеру(микротик) и отключать пользователей по дате, я создал на хостинге у себя базу, запускаю скрипт но он ругается(IndentationError: expected an indented block) на "login_user = x[0]" вот эту строку(23) если ее комментирую то на нижнюю(синтаксис вроде верный), очень буду благодарен!
| Код | #!/usr/bin/python # -*- coding: utf_8 -*- import MySQLdb import mysql_db import datetime from paramiko import SSHClient from paramiko import AutoAddPolicy now_date = datetime.date.today() cur_year = now_date.year cur_month = now_date.month cur_day = now_date.day user_day = cur_day user_month = cur_month
db = MySQLdb.connect(host="some", user="some", passwd="some", db="some", charset='utf8') cur = mysql_db.db.cursor() sql = ("""SELECT login_user, ip_user, balance FROM users WHERE day = %s AND month = %s""") % (user_day, user_month) cur.execute(sql) action = cur.fetchall() cur.close()
for x in action: login_user = x[0] ip_user = x[1] balance = x[2] if balance <= 0:
mip = '192.168.4.253' ml = 'user1' mp = '1q2w3e'
exe = "/ip fi a disable [find address=%s]" % (ip_user) print exe ssh = SSHClient() ssh.set_missing_host_key_policy(AutoAddPolicy()) ssh.connect(mip, port=22, username=ml, password=mp) cmd = "%s" % (exe) ssh.exec_command(cmd) ssh.close()
else: print "Не отключать" cur = mysql_db.db.cursor() sql = ("""SELECT login_user, ip_user, balance FROM users WHERE day = %s AND month = %s""") % (user_day, user_month) cur.execute(sql) action = cur.fetchall() cur.close()
for x in action: login_user = x[0] ip_user = x[1] balance = x[2]
if balance <= 0:
mip = '192.168.4.253'; ml = 'user1' mp = '1q2w3e'
exe = "/ip fi a disable [find address=%s]" % (ip_user) print exe ssh = SSHClient() ssh.set_missing_host_key_policy(AutoAddPolicy()) ssh.connect(mip, port=22, username=ml, password=mp) cmd = "%s" % (exe) ssh.exec_command(cmd) ssh.close()
|
|