Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться в скрипте, отключение по дате 
:(
    Опции темы
Testernew
Дата 17.5.2013, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 12.2.2012
Где: Луганск

Репутация: нет
Всего: нет



Здравствуйте, прошу помощи у людей которые знают 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() 


Это сообщение отредактировал(а) Testernew - 18.5.2013, 10:50
PM   Вверх
Fenrir13
Дата 18.5.2013, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 20.9.2008

Репутация: 1
Всего: 2



В коде нет отступов. А в Питоне отступы заменяют BEGIN-END и прочие фигурные скобки. Скопируйте скрипт правильно.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0571 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.