From 54fdff16dba431c497a602499cb69ae20c2b5110 Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Thu, 17 Nov 2016 15:19:14 +0100 Subject: [PATCH] Performance improvement using in-operator on dicts Just a small cleanup for the existing occurrences. Using the in-operator for hash lookups is faster than using .keys() http://stackoverflow.com/questions/29314269/why-do-key-in-dict-and-key-in-dict-keys-have-the-same-output --- lib/ansible/modules/cloud/google/gce.py | 2 +- lib/ansible/modules/network/nxos/nxos_bgp.py | 2 +- lib/ansible/modules/network/nxos/nxos_bgp_af.py | 2 +- lib/ansible/modules/network/nxos/nxos_feature.py | 4 ++-- lib/ansible/modules/network/nxos/nxos_igmp_interface.py | 2 +- lib/ansible/modules/network/nxos/nxos_ip_interface.py | 2 +- lib/ansible/modules/network/nxos/nxos_static_route.py | 2 +- lib/ansible/modules/network/nxos/nxos_vpc_interface.py | 2 +- lib/ansible/modules/packaging/os/yum.py | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/ansible/modules/cloud/google/gce.py b/lib/ansible/modules/cloud/google/gce.py index 0e7508f13a..18d0504cf4 100644 --- a/lib/ansible/modules/cloud/google/gce.py +++ b/lib/ansible/modules/cloud/google/gce.py @@ -461,7 +461,7 @@ def create_instances(module, gce, instance_names, number): bad_perms = [] if service_account_permissions: for perm in service_account_permissions: - if perm not in gce.SA_SCOPES_MAP.keys(): + if perm not in gce.SA_SCOPES_MAP: bad_perms.append(perm) if len(bad_perms) > 0: module.fail_json(msg='bad permissions: %s' % str(bad_perms)) diff --git a/lib/ansible/modules/network/nxos/nxos_bgp.py b/lib/ansible/modules/network/nxos/nxos_bgp.py index 9b1d86281e..84f3b2ddf8 100644 --- a/lib/ansible/modules/network/nxos/nxos_bgp.py +++ b/lib/ansible/modules/network/nxos/nxos_bgp.py @@ -1268,7 +1268,7 @@ def state_present(module, existing, proposed, candidate): elif value is False: commands.append('no {0}'.format(key)) elif value == 'default': - if key in PARAM_TO_DEFAULT_KEYMAP.keys(): + if key in PARAM_TO_DEFAULT_KEYMAP: commands.append('{0} {1}'.format(key, PARAM_TO_DEFAULT_KEYMAP[key])) elif existing_commands.get(key): existing_value = existing_commands.get(key) diff --git a/lib/ansible/modules/network/nxos/nxos_bgp_af.py b/lib/ansible/modules/network/nxos/nxos_bgp_af.py index 131430f92b..106181b467 100644 --- a/lib/ansible/modules/network/nxos/nxos_bgp_af.py +++ b/lib/ansible/modules/network/nxos/nxos_bgp_af.py @@ -1418,7 +1418,7 @@ def state_present(module, existing, proposed, candidate): commands.append('no {0}'.format(key)) elif value == 'default': - if key in PARAM_TO_DEFAULT_KEYMAP.keys(): + if key in PARAM_TO_DEFAULT_KEYMAP: commands.append('{0} {1}'.format(key, PARAM_TO_DEFAULT_KEYMAP[key])) elif existing_commands.get(key): diff --git a/lib/ansible/modules/network/nxos/nxos_feature.py b/lib/ansible/modules/network/nxos/nxos_feature.py index 233915e6d4..c507624861 100644 --- a/lib/ansible/modules/network/nxos/nxos_feature.py +++ b/lib/ansible/modules/network/nxos/nxos_feature.py @@ -877,7 +877,7 @@ def get_available_features(feature, module): if 'enabled' in state: state = 'enabled' - if feature not in available_features.keys(): + if feature not in available_features: available_features[feature] = state else: if (available_features[feature] == 'disabled' and @@ -963,7 +963,7 @@ def main(): state = module.params['state'].lower() available_features = get_available_features(feature, module) - if feature not in available_features.keys(): + if feature not in available_features: module.fail_json( msg='Invalid feature name.', features_currently_supported=available_features, diff --git a/lib/ansible/modules/network/nxos/nxos_igmp_interface.py b/lib/ansible/modules/network/nxos/nxos_igmp_interface.py index fb891cddb7..3ee32b0b5b 100644 --- a/lib/ansible/modules/network/nxos/nxos_igmp_interface.py +++ b/lib/ansible/modules/network/nxos/nxos_igmp_interface.py @@ -1343,7 +1343,7 @@ def main(): if state == 'absent': for each in CANNOT_ABSENT: - if each in proposed.keys(): + if each in proposed: module.fail_json(msg='only params: oif_prefix, oif_source, ' 'oif_routemap can be used when ' 'state=absent') diff --git a/lib/ansible/modules/network/nxos/nxos_ip_interface.py b/lib/ansible/modules/network/nxos/nxos_ip_interface.py index 8d20ff1a23..5776c64da8 100644 --- a/lib/ansible/modules/network/nxos/nxos_ip_interface.py +++ b/lib/ansible/modules/network/nxos/nxos_ip_interface.py @@ -1081,7 +1081,7 @@ def get_config_ip_commands(delta, interface, existing, version): # loop used in the situation that just an IP address or just a # mask is changing, not both. for each in ['addr', 'mask']: - if each not in delta.keys(): + if each not in delta: delta[each] = existing[each] if version == 'v4': diff --git a/lib/ansible/modules/network/nxos/nxos_static_route.py b/lib/ansible/modules/network/nxos/nxos_static_route.py index 25d4e8770c..be5f335983 100644 --- a/lib/ansible/modules/network/nxos/nxos_static_route.py +++ b/lib/ansible/modules/network/nxos/nxos_static_route.py @@ -852,7 +852,7 @@ def get_existing(module, prefix, warnings): group_route = match_route.groupdict() for key in key_map: - if key not in group_route.keys(): + if key not in group_route: group_route[key] = '' group_route['prefix'] = prefix group_route['vrf'] = module.params['vrf'] diff --git a/lib/ansible/modules/network/nxos/nxos_vpc_interface.py b/lib/ansible/modules/network/nxos/nxos_vpc_interface.py index 0d4546397e..ee3a38ce7e 100644 --- a/lib/ansible/modules/network/nxos/nxos_vpc_interface.py +++ b/lib/ansible/modules/network/nxos/nxos_vpc_interface.py @@ -1013,7 +1013,7 @@ def main(): if vpc: mapping = get_existing_portchannel_to_vpc_mappings(module) - if vpc in mapping.keys() and portchannel != mapping[vpc].strip('Po'): + if vpc in mapping and portchannel != mapping[vpc].strip('Po'): module.fail_json(msg="This vpc is already configured on " "another portchannel. Remove it first " "before trying to assign it here. ", diff --git a/lib/ansible/modules/packaging/os/yum.py b/lib/ansible/modules/packaging/os/yum.py index 950d493c05..da3d3a3251 100644 --- a/lib/ansible/modules/packaging/os/yum.py +++ b/lib/ansible/modules/packaging/os/yum.py @@ -877,7 +877,7 @@ def latest(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): # or virtual provides (like "python-*" or "smtp-daemon") while # updates contains name only. this_name_only = '-'.join(this.split('-')[:-2]) - if spec in pkgs['update'] and this_name_only in updates.keys(): + if spec in pkgs['update'] and this_name_only in updates: nothing_to_do = False will_update.add(spec) # Massage the updates list