summaryrefslogtreecommitdiff
path: root/util/cpt_upgraders/etherswitch.py
blob: 9cd82a2d0fc0a70de09b7e272b3ecbe005e701a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def upgrader(cpt):
    for sec in cpt.sections():
        if sec == "system":
            options = cpt.items(sec)
            for it in options:
                opt_split = it[0].split('.')
                if len(opt_split) < 2: continue
                new_sec_name = opt_split[1]
                old_opt_name = opt_split[len(opt_split) - 1]
                if "outputFifo" in new_sec_name:
                    new_sec_name = new_sec_name.rstrip("outputFifo")
                    new_sec_name += ".outputFifo"
                    new_sec_name = "system.system.%s" %(new_sec_name)
                    if not cpt.has_section(new_sec_name):
                        cpt.add_section(new_sec_name)
                    if old_opt_name == "size":
                        cpt.set(new_sec_name, "_size", it[1])
                    elif old_opt_name == "packets":
                        cpt.set(new_sec_name, "fifosize", it[1])
                    else:
                        cpt.set(new_sec_name, old_opt_name, it[1])
                    cpt.remove_option(sec, it[0])