ifupdown-multi.py: Port to Python 3 (Closes: #943060)
Robert Edmonds
3 years ago
0 | #!/usr/bin/env python | |
0 | #!/usr/bin/env python3 | |
1 | 1 | |
2 | 2 | # Copyright (c) 2013 by Farsight Security, Inc. |
3 | 3 | # |
56 | 56 | if not os.path.isdir(dname): |
57 | 57 | rc = run('mkdir %s' % dname) |
58 | 58 | if rc != 0: |
59 | raise Exception, 'unable to create directory %s' % dname | |
59 | raise Exception('unable to create directory %s' % dname) | |
60 | 60 | |
61 | 61 | class ifupdownMulti: |
62 | 62 | def __init__(self, env): |
64 | 64 | |
65 | 65 | self.cfg = {} |
66 | 66 | for key in required_keys: |
67 | if env.has_key(key): | |
67 | if key in env: | |
68 | 68 | self.cfg[key] = env[key] |
69 | 69 | else: |
70 | raise Exception, 'missing environment variable %s' % key | |
70 | raise Exception('missing environment variable %s' % key) | |
71 | 71 | for key in additional_keys: |
72 | if env.has_key(key): | |
72 | if key in env: | |
73 | 73 | if key == 'IF_MULTI_GATEWAY_WEIGHT' and self.cfg['ADDRFAM'] == 'inet6': |
74 | 74 | logging.warning('multi_gateway_weight not supported with IPv6') |
75 | 75 | else: |
76 | 76 | self.cfg[key] = env[key] |
77 | 77 | if not self.cfg['MODE'] in ('start', 'stop'): |
78 | raise Exception, 'unknown ifupdown mode %s' % self.cfg['MODE'] | |
78 | raise Exception('unknown ifupdown mode %s' % self.cfg['MODE']) | |
79 | 79 | if self.cfg['ADDRFAM'] == 'inet': |
80 | 80 | self.cfg['ip'] = 'ip' |
81 | 81 | elif self.cfg['ADDRFAM'] == 'inet6': |
145 | 145 | nexthop = f.readline().strip() |
146 | 146 | if nexthop: |
147 | 147 | run('%s route delete %s' % (self.cfg['ip'], nexthop)) |
148 | except IOError, e: | |
148 | except IOError as e: | |
149 | 149 | if e.errno != errno.ENOENT: |
150 | 150 | raise |
151 | 151 |