summaryrefslogtreecommitdiff
path: root/vyroute/basic_function
diff options
context:
space:
mode:
authorHochikong <michellehzg@gmail.com>2016-05-24 22:27:58 +0800
committerHochikong <michellehzg@gmail.com>2016-05-24 22:27:58 +0800
commitd474dd0f20db9b9bc66908e54b47bcceb71fd490 (patch)
treebc215d3092ef25c5288ebfbeb98e901c597671e8 /vyroute/basic_function
parent21f0b5ec2197df59f31384ef2c9a541518669f9f (diff)
downloadpython-vyos-mgmt-d474dd0f20db9b9bc66908e54b47bcceb71fd490.tar.gz
python-vyos-mgmt-d474dd0f20db9b9bc66908e54b47bcceb71fd490.zip
fix first bug
Diffstat (limited to 'vyroute/basic_function')
-rw-r--r--vyroute/basic_function/DeleteRoute.py51
1 files changed, 18 insertions, 33 deletions
diff --git a/vyroute/basic_function/DeleteRoute.py b/vyroute/basic_function/DeleteRoute.py
index 87af263..17c8531 100644
--- a/vyroute/basic_function/DeleteRoute.py
+++ b/vyroute/basic_function/DeleteRoute.py
@@ -3,12 +3,11 @@ from Exscript.protocols import SSH2
from Exscript import Account
-def deleteroute(data):
+def deleteroute(obj, data):
"""This method provide a router configuration delete function
Parameter data example:
- {'router':'vyos@172.16.77.188','passwd':'vyos',
- 'config':'rip'
+ {'config':'rip'/'static'/'ospf'/'all'
}
WARNING!
@@ -17,41 +16,27 @@ def deleteroute(data):
If you do not want your setting disappear,you can delete router configuration manually or rewrite
this func.
+ :param obj: a connection object
:param data: a python dictionary
:return: a python dictionary
"""
delete_basic_configuration = "delete protocols %s"
+ delete_all_protocols = "delete protocols"
try:
- stringlist = list(data['router'])
- divi = stringlist.index('@')
- user = ''.join(stringlist[:divi])
- passwd = data['passwd']
- address = ''.join(stringlist[divi + 1:])
- account = Account(user, passwd)
- conn = SSH2()
- conn.connect(address)
- conn.login(account)
-
- # configure mode
- conn.execute("configure")
-
- # delete specific configuration
- conn.execute(delete_basic_configuration % data['config'])
-
- # commit configuration
- conn.execute("commit")
-
- # save configuration
- conn.execute("save")
-
- # exit configure mode
- conn.execute("exit")
-
- # close connection
- conn.close(force=True)
-
- return {"Result": "Delete successfully"}
-
+ if data['config'] == "all":
+ obj.execute(delete_all_protocols)
+ return {"Result": "Delete successfully."}
+ elif data['config'] == 'rip':
+ obj.execute(delete_basic_configuration % 'rip')
+ return {"Result": "Delete successfully."}
+ elif data['config'] == 'static':
+ obj.execute(delete_basic_configuration % 'static')
+ return {"Result": "Delete successfully."}
+ elif data['config'] == 'ospf':
+ obj.execute(delete_basic_configuration % 'ospf')
+ return {"Result": "Delete successfully."}
+ else:
+ return {"Error": "Nonsupport protocols type."}
except Exception, e:
return {"Error": e} \ No newline at end of file