summaryrefslogtreecommitdiff
path: root/vyroute/basic_function/DeleteRoute.py
blob: 175b7125b2a27a6787fa9aa0fbb8d7d9e6a587d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Copyright (c) 2016 Hochikong
def deleteroute(obj, route_type):
    """This method provide a router configuration delete function

    Parameter example:
    'rip'/'static'/'ospf'/'bgp'/'all'

    WARNING!
    When you use this function,please don't forget this func will delete all same type
    router configuration,when your 'config' in data is 'rip',it will delete all rip router setting.
    If you do not want your setting disappear,you can delete router configuration manually or rewrite
    this func.

    :param obj: A connection object
    :param route_type: Route type
    :return: A message or an error
    """
    delete_basic_configuration = "delete protocols %s"
    delete_all_protocols = "delete protocols"

    try:
        if route_type == "all":
            obj.sendline(delete_all_protocols)
            obj.prompt()
            if len(obj.before) > obj.before.index('\r\n') + 2:
                return obj.before
            else:
                return "Result : Delete successfully."
        elif route_type == 'rip':
            obj.sendline(delete_basic_configuration % 'rip')
            obj.prompt()
            if len(obj.before) > obj.before.index('\r\n') + 2:
                return obj.before
            else:
                return "Result : Delete successfully."
        elif route_type == 'static':
            obj.sendline(delete_basic_configuration % 'static')
            obj.prompt()
            if len(obj.before) > obj.before.index('\r\n') + 2:
                return obj.before
            else:
                return "Result : Delete successfully."
        elif route_type == 'bgp':
            obj.sendline(delete_basic_configuration % 'bgp')
            obj.prompt()
            if len(obj.before) > obj.before.index('\r\n') + 2:
                return obj.before
            else:
                return "Result : Delete successfully."
        elif route_type == 'ospf':
            obj.sendline(delete_basic_configuration % 'ospf')
            obj.prompt()
            if len(obj.before) > obj.before.index('\r\n') + 2:
                return obj.before
            else:
                return "Result : Delete successfully."
        else:
            return "Error : Nonsupport protocols type."
    except Exception as e:
        return e