Здравствуйте
Только столкнулась с написанием чего-то на python.
Простите заранее за глупые вопросы.
Что есть: Сentos7, python3.6
Суть: передать скрипту несколько параметров(ip, ban or unban)
Если передаю только ip - все работает, но стоит мне добавить if для понимания ban/unban - ничего не работает, и постоянные проблемы с табуляцией..
Подозреваю, что не там или не так пихаю if
Заранее спасибо
Только столкнулась с написанием чего-то на python.
Простите заранее за глупые вопросы.
Что есть: Сentos7, python3.6
Суть: передать скрипту несколько параметров(ip, ban or unban)
Если передаю только ip - все работает, но стоит мне добавить if для понимания ban/unban - ничего не работает, и постоянные проблемы с табуляцией..
Подозреваю, что не там или не так пихаю if
Заранее спасибо
Код:
#!/usr/bin/env python
import sys
import logging
import ipaddress
from ncclient import manager
ip = sys.argv[1]
act = sys.argv[2]
def connect(host, port, user, password):
conn = manager.connect(host=host,
port=port,
username=user,
password=password,
timeout=60,
device_params={'name': 'junos'},
hostkey_verify=False)
conn.lock()
if act == 'ban':
load_config_result = conn.load_configuration(action='set', config='set policy-options prefix-list blackholeprefixes_ipv4 {}'.format(ip))
load_config_result = conn.load_configuration(action='set', config='set routing-options static route {} discard'.format(ip))
logging.info(load_config_result)
validate_result = conn.validate()
logging.info(validate_result)
compare_config_result = conn.compare_configuration()
logging.info(compare_config_result)
conn.commit()
conn.unlock()
conn.close_session()
if __name__ == '__main__':
LOG_FORMAT = '%(asctime)s %(levelname)s %(filename)s:%(lineno)d %(message)s'
logging.basicConfig(stream=sys.stdout, level=logging.INFO, format=LOG_FORMAT)
connect('40.40.40.1', '2503', 'fast', 'ckflrbqcf[fh')