Browse Source

Futurize.

Joe Clarke 4 years ago
parent
commit
e67c53f1fc
2 changed files with 26 additions and 22 deletions
  1. 8 5
      meraki_api/__init__.py
  2. 18 17
      setup_meraki_nets.py

+ 8 - 5
meraki_api/__init__.py

@@ -1,3 +1,4 @@
+from __future__ import print_function
 #
 # Copyright (c) 2018  Joe Clarke <jclarke@cisco.com>
 #
@@ -22,6 +23,8 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 
+from builtins import str
+from builtins import object
 import requests
 import logging
 import json
@@ -142,7 +145,7 @@ class Meraki(object):
         return True
 
     def __populate_obj(self, jobj):
-        for k, v in jobj.items():
+        for k, v in list(jobj.items()):
             self.__dict[k] = v
 
     def get(self, field):
@@ -429,7 +432,7 @@ class SSID(Meraki):
                 return False
 
         jobj = response.json()
-        for k, v in jobj.items():
+        for k, v in list(jobj.items()):
             self.set(k, v)
 
         return True
@@ -485,7 +488,7 @@ class Vlan(Meraki):
                 return False
 
         jobj = response.json()
-        for k, v in jobj.items():
+        for k, v in list(jobj.items()):
             self.set(k, v)
 
         return True
@@ -558,7 +561,7 @@ class Device(Meraki):
                 return False
 
         jobj = response.json()
-        for k, v in jobj.items():
+        for k, v in list(jobj.items()):
             if k == 'moveMapMarker':
                 continue
             self.set(k, v)
@@ -616,7 +619,7 @@ class SwitchPort(Meraki):
                 return False
 
         jobj = response.json()
-        for k, v in jobj.items():
+        for k, v in list(jobj.items()):
             self.set(k, v)
 
         return True

+ 18 - 17
setup_meraki_nets.py

@@ -24,6 +24,8 @@
 # SUCH DAMAGE.
 
 
+from __future__ import print_function
+from builtins import input
 import meraki_api
 import yaml
 import argparse
@@ -85,7 +87,7 @@ def main():
     for net in config['networks']:
         nerrors = 0
         net_obj = None
-        nname = net.keys()[0]
+        nname = list(net.keys())[0]
         print(BANNER.format('Configuring network {}'.format(nname)))
         if configure_nets is not None and nname not in configure_nets:
             print('{}skipping (not in specified network list){}'.format(
@@ -129,15 +131,14 @@ def main():
 
         if 'devices' in net[nname]:
             for dev in net[nname]['devices']:
-                serial = dev.keys()[0]
+                serial = list(dev.keys())[0]
                 if 'name' not in dev[serial]:
                     print('{}Invalid device {}: name is missing!{}'.format(
                         Fore.RED, serial, Style.RESET_ALL))
                     nerrors += 1
                     continue
 
-                inv_dev = filter(
-                    lambda device: device['serial'] == serial, inv)
+                inv_dev = [device for device in inv if device['serial'] == serial]
                 if len(inv_dev) == 1:
                     dev_obj = None
                     if inv_dev[0]['networkId'] is not None and inv_dev[0]['networkId'] != net_obj.get('id'):
@@ -218,11 +219,11 @@ def main():
             #
             if 'copy_from_network' not in net[nname]:
                 print('\n')
-                raw_input(
+                input(
                     '!!! Enable VLANs for network "{}" manually in the dashboard (under Security appliance > Addressing & VLANs), then hit enter to proceed !!!'.format(nname))
                 print('')
             for vlan in net[nname]['vlans']:
-                vname = vlan.keys()[0]
+                vname = list(vlan.keys())[0]
                 done_msg = ''
                 if int(vlan[vname]['id']) != 1:
                     vlan_obj = net_obj.create_vlan(
@@ -246,7 +247,7 @@ def main():
                         vargs[key] = vlan[vname][key]
                 res = vlan_obj.update_vlan(**vargs)
                 vargs_str = ', '.join(['{}={}'.format(k, v)
-                                       for k, v in vargs.iteritems()])
+                                       for k, v in vargs.items()])
                 if not res:
                     print('{}Error updating VLAN {} ({})!{}'.format(
                         Fore.RED, vname, vargs_str, Style.RESET_ALL))
@@ -263,7 +264,7 @@ def main():
             else:
                 si = 0
                 for ssid in net[nname]['ssids']:
-                    sname = ssid.keys()[0]
+                    sname = list(ssid.keys())[0]
                     ssid_obj = meraki_api.SSID(
                         key=config['api_key'], id=si, name=sname, net=net_obj)
                     sargs = {}
@@ -272,7 +273,7 @@ def main():
                             sargs[key] = ssid[sname][key]
                     res = ssid_obj.update_ssid(**sargs)
                     sargs_str = ', '.join(
-                        ['{}={}'.format(k, v) for k, v in sargs.iteritems()])
+                        ['{}={}'.format(k, v) for k, v in sargs.items()])
                     if not res:
                         print('{}Error updating SSID {} ({})!{}'.format(
                             Fore.RED, sname, sargs_str, Style.RESET_ALL))
@@ -284,19 +285,19 @@ def main():
 
         if 'switches' in net[nname]:
             for switch in net[nname]['switches']:
-                serial = switch.keys()[0]
+                serial = list(switch.keys())[0]
                 dev_obj = meraki_api.Device(
                     key=config['api_key'], id=serial, net=net_obj)
                 if not dev_obj.realize():
-                    print('{}Device {} is not in network {}{}'.format(
-                        Fore.RED, serial, net_obj.get('name')), Style.RESET_ALL)
+                    print(('{}Device {} is not in network {}{}'.format(
+                        Fore.RED, serial, net_obj.get('name')), Style.RESET_ALL))
                     nerrors += 1
                     continue
 
                 for switchport in switch[serial]:
-                    port_range = switchport.keys()[0]
+                    port_range = list(switchport.keys())[0]
                     ports = []
-                    if isinstance(port_range, (int, long)):
+                    if isinstance(port_range, int):
                         port_obj = meraki_api.SwitchPort(
                             key=config['api_key'], id=port_range, dev=dev_obj)
                         ports.append(port_obj)
@@ -304,7 +305,7 @@ def main():
                         prs = port_range.split(',')
                         for pr in prs:
                             pr = pr.strip()
-                            if isinstance(pr, (int, long)):
+                            if isinstance(pr, int):
                                 port_obj = meraki_api.SwitchPort(
                                     key=config['api_key'], id=pr, dev=dev_obj)
                                 ports.append(pr)
@@ -318,7 +319,7 @@ def main():
                                 (start, end) = pr.split('-')
                                 start = start.strip()
                                 end = end.strip()
-                                if not isinstance(start, (int, long)) or not isinstance(end, (int, long)):
+                                if not isinstance(start, int) or not isinstance(end, int):
                                     print('{}Error with port range {} and {} must be integers{}'.format(
                                         Fore.RED, pr, start, end, Style.RESET_ALL))
                                     nerrors += 1
@@ -344,7 +345,7 @@ def main():
                                 pargs[key] = switchport[port_range][key]
                         res = port.update_switchport(**pargs)
                         pargs_str = ', '.join(
-                            ['{}={}'.format(k, v) for k, v in pargs.iteritems()])
+                            ['{}={}'.format(k, v) for k, v in pargs.items()])
                         if not res:
                             print('{}Error updating switchport range {} ({}){}'.format(
                                 Fore.RED, port_range, pargs_str, Style.RESET_ALL))