Skip to content

Commit c445d12

Browse files
committed
remove unnecessary conversion to list
1 parent f25c58b commit c445d12

File tree

17 files changed

+142
-102
lines changed

17 files changed

+142
-102
lines changed

hubblestack/extmods/fileserver/s3fs.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,7 @@ def _get_file():
683683
path_style=s3_key_kwargs['path_style'],
684684
https_enable=s3_key_kwargs['https_enable'])
685685
if ret:
686-
for header_name, header_value in list(ret['headers'].items()):
686+
for header_name, header_value in ret['headers'].items():
687687
header_name = header_name.strip()
688688
header_value = header_value.strip()
689689
if six.text_type(header_name).lower() == 'last-modified':

hubblestack/extmods/grains/cloud_details.py

+60-38
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,21 @@ def _get_aws_details():
3333
aws['cloud_account_id'] = None
3434
aws['cloud_type'] = 'aws'
3535

36-
proxies = { 'http': None }
36+
proxies = {'http': None}
3737

3838
try:
3939
res = requests.get('http://169.254.169.254/latest/dynamic/instance-identity/document',
40-
timeout=3, proxies=proxies).json()
40+
timeout=3, proxies=proxies).json()
4141
aws['cloud_account_id'] = res.get('accountId', 'unknown')
4242

4343
# AWS account id is always an integer number
4444
# So if it's an aws machine it must be a valid integer number
4545
# Else it will throw an Exception
4646
int(aws['cloud_account_id'])
4747

48-
aws['cloud_instance_id'] = requests.get('http://169.254.169.254/latest/meta-data/instance-id',
49-
timeout=3, proxies=proxies).text
48+
aws['cloud_instance_id'] = requests.get(
49+
'http://169.254.169.254/latest/meta-data/instance-id',
50+
timeout=3, proxies=proxies).text
5051
except (requests.exceptions.RequestException, ValueError):
5152
# Not on an AWS box
5253
aws = None
@@ -57,16 +58,19 @@ def _get_aws_details():
5758
aws_extra['cloud_availability_zone'] = res.get('availabilityZone')
5859
aws_extra['cloud_ami_id'] = res.get('imageId')
5960
aws_extra['cloud_region'] = res.get('region')
60-
r = requests.get('http://169.254.169.254/latest/meta-data/public-hostname', timeout=3, proxies=proxies)
61+
r = requests.get('http://169.254.169.254/latest/meta-data/public-hostname', timeout=3,
62+
proxies=proxies)
6163
if r.status_code == requests.codes.ok:
6264
aws_extra['cloud_public_hostname'] = r.text
63-
r = requests.get('http://169.254.169.254/latest/meta-data/public-ipv4', timeout=3, proxies=proxies)
65+
r = requests.get('http://169.254.169.254/latest/meta-data/public-ipv4', timeout=3,
66+
proxies=proxies)
6467
if r.status_code == requests.codes.ok:
6568
aws_extra['cloud_public_ipv4'] = r.text
66-
r = requests.get('http://169.254.169.254/latest/meta-data/local-hostname', timeout=3, proxies=proxies)
69+
r = requests.get('http://169.254.169.254/latest/meta-data/local-hostname', timeout=3,
70+
proxies=proxies)
6771
if r.status_code == requests.codes.ok:
6872
aws_extra['cloud_private_hostname'] = r.text
69-
for key in list(aws_extra.keys()):
73+
for key in aws_extra.keys():
7074
if not aws_extra[key]:
7175
aws_extra.pop(key)
7276

@@ -87,7 +91,7 @@ def _get_azure_details():
8791
azure['cloud_account_id'] = None
8892
azure['cloud_type'] = 'azure'
8993
azureHeader = {'Metadata': 'true'}
90-
proxies = { 'http': None }
94+
proxies = {'http': None}
9195

9296
try:
9397
# Reminder: rev the api version for access to more details
@@ -111,19 +115,22 @@ def _get_azure_details():
111115
azure_extra['cloud_tags'] = id['tags']
112116
azure_extra['cloud_image_version'] = id['version']
113117
azure_extra['cloud_size'] = id['vmSize']
114-
interface_list = requests.get('http://169.254.169.254/metadata/instance/network/interface?api-version=2017-08-01',
115-
headers=azureHeader, timeout=3, proxies=proxies).json()
118+
interface_list = requests.get(
119+
'http://169.254.169.254/metadata/instance/network/interface?api-version=2017-08-01',
120+
headers=azureHeader, timeout=3, proxies=proxies).json()
116121
for counter, value in enumerate(interface_list):
117122
grain_name_private_ipv4 = "cloud_interface_{0}_private_ipv4".format(counter)
118-
azure_extra[grain_name_private_ipv4] = value['ipv4']['ipAddress'][0]['privateIpAddress']
123+
azure_extra[grain_name_private_ipv4] = value['ipv4']['ipAddress'][0][
124+
'privateIpAddress']
119125

120126
grain_name_public_ipv4 = "cloud_interface_{0}_public_ipv4".format(counter)
121-
azure_extra[grain_name_public_ipv4] = value['ipv4']['ipAddress'][0]['publicIpAddress']
127+
azure_extra[grain_name_public_ipv4] = value['ipv4']['ipAddress'][0][
128+
'publicIpAddress']
122129

123130
grain_name_mac = "cloud_interface_{0}_mac_address".format(counter)
124131
azure_extra[grain_name_mac] = value['macAddress']
125132

126-
for key in list(azure_extra.keys()):
133+
for key in azure_extra.keys():
127134
if not azure_extra[key]:
128135
azure_extra.pop(key)
129136

@@ -134,6 +141,7 @@ def _get_azure_details():
134141
ret['cloud_details_extra'] = azure_extra
135142
return ret
136143

144+
137145
def _get_gcp_details():
138146
# Gather google compute platform information if present
139147
ret = {}
@@ -143,34 +151,45 @@ def _get_gcp_details():
143151
gcp['cloud_account_id'] = None
144152
gcp['cloud_type'] = 'gcp'
145153
gcp_header = {'Metadata-Flavor': 'Google'}
146-
proxies = { 'http': None }
154+
proxies = {'http': None}
147155

148156
try:
149-
gcp['cloud_instance_id'] = requests.get('http://metadata.google.internal/computeMetadata/v1/instance/id',
150-
headers=gcp_header, timeout=3, proxies=proxies).text
151-
gcp['cloud_account_id'] = requests.get('http://metadata.google.internal/computeMetadata/v1/project/numeric-project-id',
152-
headers=gcp_header, timeout=3, proxies=proxies).text
157+
gcp['cloud_instance_id'] = requests.get(
158+
'http://metadata.google.internal/computeMetadata/v1/instance/id',
159+
headers=gcp_header, timeout=3, proxies=proxies).text
160+
gcp['cloud_account_id'] = requests.get(
161+
'http://metadata.google.internal/computeMetadata/v1/project/numeric-project-id',
162+
headers=gcp_header, timeout=3, proxies=proxies).text
153163
except (requests.exceptions.RequestException, ValueError):
154164
# Not on gcp box
155165
gcp = None
156166
if gcp:
157167
try:
158-
gcp_extra['cloud_project_id'] = requests.get('http://metadata.google.internal/computeMetadata/v1/project/project-id',
159-
headers=gcp_header, timeout=3, proxies=proxies).text
160-
gcp_extra['cloud_name'] = requests.get('http://metadata.google.internal/computeMetadata/v1/instance/name',
161-
headers=gcp_header, timeout=3, proxies=proxies).text
162-
gcp_extra['cloud_hostname'] = requests.get('http://metadata.google.internal/computeMetadata/v1/instance/hostname',
163-
headers=gcp_header, timeout=3, proxies=proxies).text
164-
gcp_extra['cloud_zone'] = requests.get('http://metadata.google.internal/computeMetadata/v1/instance/zone',
165-
headers=gcp_header, timeout=3, proxies=proxies).text
166-
gcp_extra['cloud_image'] = requests.get('http://metadata.google.internal/computeMetadata/v1/instance/image',
167-
headers=gcp_header, timeout=3, proxies=proxies).text
168-
gcp_extra['cloud_machine_type'] = requests.get('http://metadata.google.internal/computeMetadata/v1/instance/machine-type',
169-
headers=gcp_header, timeout=3, proxies=proxies).text
170-
gcp_extra['cloud_tags'] = requests.get('http://metadata.google.internal/computeMetadata/v1/instance/tags?recursive=true',
171-
headers=gcp_header, timeout=3, proxies=proxies).json()
172-
interface_list = requests.get('http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/?recursive=true',
173-
headers=gcp_header, timeout=3, proxies=proxies).json()
168+
gcp_extra['cloud_project_id'] = requests.get(
169+
'http://metadata.google.internal/computeMetadata/v1/project/project-id',
170+
headers=gcp_header, timeout=3, proxies=proxies).text
171+
gcp_extra['cloud_name'] = requests.get(
172+
'http://metadata.google.internal/computeMetadata/v1/instance/name',
173+
headers=gcp_header, timeout=3, proxies=proxies).text
174+
gcp_extra['cloud_hostname'] = requests.get(
175+
'http://metadata.google.internal/computeMetadata/v1/instance/hostname',
176+
headers=gcp_header, timeout=3, proxies=proxies).text
177+
gcp_extra['cloud_zone'] = requests.get(
178+
'http://metadata.google.internal/computeMetadata/v1/instance/zone',
179+
headers=gcp_header, timeout=3, proxies=proxies).text
180+
gcp_extra['cloud_image'] = requests.get(
181+
'http://metadata.google.internal/computeMetadata/v1/instance/image',
182+
headers=gcp_header, timeout=3, proxies=proxies).text
183+
gcp_extra['cloud_machine_type'] = requests.get(
184+
'http://metadata.google.internal/computeMetadata/v1/instance/machine-type',
185+
headers=gcp_header, timeout=3, proxies=proxies).text
186+
gcp_extra['cloud_tags'] = requests.get(
187+
'http://metadata.google.internal/computeMetadata/v1/instance/tags?recursive=true',
188+
headers=gcp_header, timeout=3, proxies=proxies).json()
189+
interface_list = requests.get(
190+
'http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces'
191+
'/?recursive=true',
192+
headers=gcp_header, timeout=3, proxies=proxies).json()
174193
for counter, value in enumerate(interface_list):
175194
grain_name_network = "cloud_interface_{0}_network".format(counter)
176195
gcp_extra[grain_name_network] = value['network']
@@ -190,11 +209,14 @@ def _get_gcp_details():
190209
grain_name_targetips = "cloud_interface_{0}_target_ips".format(counter)
191210
gcp_extra[grain_name_targetips] = ','.join(value['targetInstanceIps'])
192211

193-
grain_name_accessconfig_external_ips = "cloud_interface_{0}_accessconfigs_external_ips".format(counter)
194-
external_ips_list = [ item['externalIp'] for item in value['accessConfigs'] if 'externalIp' in item ]
212+
grain_name_accessconfig_external_ips = "cloud_interface_{" \
213+
"0}_accessconfigs_external_ips".format(
214+
counter)
215+
external_ips_list = [item['externalIp'] for item in value['accessConfigs'] if
216+
'externalIp' in item]
195217
gcp_extra[grain_name_accessconfig_external_ips] = ','.join(external_ips_list)
196218

197-
for key in list(gcp_extra.keys()):
219+
for key in gcp_extra.keys():
198220
if not gcp_extra[key]:
199221
gcp_extra.pop(key)
200222

hubblestack/extmods/modules/conf_publisher.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,16 @@
99

1010
log = logging.getLogger(__name__)
1111

12+
1213
def get_splunk_options(**kwargs):
1314
if not kwargs:
1415
kwargs['sourcetype'] = 'hubble_osquery'
1516
if '_nick' not in kwargs or not isinstance(kwargs['_nick'], dict):
1617
kwargs['_nick'] = {'sourcetype_nebula': 'sourcetype'}
1718
return gso(**kwargs)
1819

19-
def publish(report_directly_to_splunk=True, remove_dots=True, *args):
2020

21+
def publish(report_directly_to_splunk=True, remove_dots=True, *args):
2122
"""
2223
Publishes config to splunk at an interval defined in schedule
2324
@@ -44,7 +45,7 @@ def publish(report_directly_to_splunk=True, remove_dots=True, *args):
4445
opts_to_log.pop('grains')
4546
else:
4647
for arg in args:
47-
if arg in __opts__:
48+
if arg in __opts__:
4849
opts_to_log[arg] = __opts__[arg]
4950

5051
filtered_conf = hubblestack.log.filter_logs(opts_to_log, remove_dots=remove_dots)
@@ -63,7 +64,7 @@ def _filter_config(opts_to_log, remove_dots=True):
6364
patterns_to_filter = ["password", "token", "passphrase", "privkey", "keyid", "s3.key"]
6465
filtered_conf = _remove_sensitive_info(opts_to_log, patterns_to_filter)
6566
if remove_dots:
66-
for key in list(filtered_conf.keys()):
67+
for key in filtered_conf.keys():
6768
if '.' in key:
6869
filtered_conf[key.replace('.', '_')] = filtered_conf.pop(key)
6970
return filtered_conf

hubblestack/extmods/modules/hubble.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ def _run_audit(configs, tags, debug, labels, **kwargs):
333333
for failure_index in reversed(sorted(set(failures_to_remove))):
334334
results['Failure'].pop(failure_index)
335335

336-
for key in list(results.keys()):
336+
for key in results.keys():
337337
if not results[key]:
338338
results.pop(key)
339339

@@ -581,7 +581,7 @@ def _clean_up_results(results, show_success):
581581
if show_success was not passed, adding an error message if
582582
results is empty
583583
"""
584-
for key in list(results.keys()):
584+
for key in results.keys():
585585
if not results[key]:
586586
results.pop(key)
587587

hubblestack/extmods/modules/pulsar.py

+8-6
Original file line numberDiff line numberDiff line change
@@ -558,16 +558,18 @@ def _wrapped(val):
558558
the_list = []
559559
for e in excludes:
560560
if isinstance(e,dict):
561-
if list(e.values())[0].get('regex'):
562-
r = list(e.keys())[0]
561+
first_val = list(e.values())[0]
562+
first_key = list(e.keys())[0]
563+
if first_val.get('regex'):
564+
r = first_key
563565
try:
564566
c = re.compile(r)
565567
the_list.append(re_wrapper(c))
566568
except Exception as e:
567-
log.warn('Failed to compile regex "%s": %s', r,e)
569+
log.warning('Failed to compile regex "%s": %s', r, e)
568570
continue
569571
else:
570-
e = list(e.keys())[0]
572+
e = first_key
571573
if '*' in e:
572574
the_list.append(fn_wrapper(e))
573575
else:
@@ -576,7 +578,7 @@ def _wrapped(val):
576578
# finally, wrap the whole decision set in a decision wrapper
577579
def _final(val):
578580
for i in the_list:
579-
if i( val ):
581+
if i(val):
580582
return True
581583
return False
582584
return _final
@@ -972,7 +974,7 @@ def _dict_update(dest, upd, recursive_update=True, merge_lists=False):
972974
return dest
973975
else:
974976
try:
975-
for k in list(upd.keys()):
977+
for k in upd.keys():
976978
dest[k] = upd[k]
977979
except AttributeError:
978980
# this mapping is not a dict

hubblestack/extmods/returners/graylog_nebula_return.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def returner(ret):
5353

5454
for opts in opts_list:
5555
for query in ret['return']:
56-
for query_name, value in list(query.items()):
56+
for query_name, value in query.items():
5757
for query_data in value['data']:
5858
args = {'query': query_name,
5959
'job_id': ret['jid'],

hubblestack/files/hubblestack_nova/misc.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ def check_duplicate_uids(reason=''):
449449
"""
450450
uids = _execute_shell_command("cat /etc/passwd | cut -f3 -d\":\"", python_shell=True).strip()
451451
uids = uids.split('\n') if uids != "" else []
452-
duplicate_uids = [k for k, v in list(Counter(uids).items()) if v > 1]
452+
duplicate_uids = [k for k, v in Counter(uids).items() if v > 1]
453453
if duplicate_uids is None or duplicate_uids == []:
454454
return True
455455
return str(duplicate_uids)
@@ -461,7 +461,7 @@ def check_duplicate_gids(reason=''):
461461
"""
462462
gids = _execute_shell_command("cat /etc/group | cut -f3 -d\":\"", python_shell=True).strip()
463463
gids = gids.split('\n') if gids != "" else []
464-
duplicate_gids = [k for k, v in list(Counter(gids).items()) if v > 1]
464+
duplicate_gids = [k for k, v in Counter(gids).items() if v > 1]
465465
if duplicate_gids is None or duplicate_gids == []:
466466
return True
467467
return str(duplicate_gids)
@@ -473,7 +473,7 @@ def check_duplicate_unames(reason=''):
473473
"""
474474
unames = _execute_shell_command("cat /etc/passwd | cut -f1 -d\":\"", python_shell=True).strip()
475475
unames = unames.split('\n') if unames != "" else []
476-
duplicate_unames = [k for k, v in list(Counter(unames).items()) if v > 1]
476+
duplicate_unames = [k for k, v in Counter(unames).items() if v > 1]
477477
if duplicate_unames is None or duplicate_unames == []:
478478
return True
479479
return str(duplicate_unames)
@@ -485,7 +485,7 @@ def check_duplicate_gnames(reason=''):
485485
"""
486486
gnames = _execute_shell_command("cat /etc/group | cut -f1 -d\":\"", python_shell=True).strip()
487487
gnames = gnames.split('\n') if gnames != "" else []
488-
duplicate_gnames = [k for k, v in list(Counter(gnames).items()) if v > 1]
488+
duplicate_gnames = [k for k, v in Counter(gnames).items() if v > 1]
489489
if duplicate_gnames is None or duplicate_gnames == []:
490490
return True
491491
return str(duplicate_gnames)

hubblestack/files/hubblestack_nova/oval_scanner.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def audit(data_list, tags, labels, debug=False, **kwargs):
9090

9191
def parse_impact_report(report, local_pkgs, hubble_format, impacted_pkgs=[]):
9292
"""Parse into Hubble friendly format"""
93-
for key, value in list(report.items()):
93+
for key, value in report.items():
9494
pkg_desc = 'Vulnerable Package(s): '
9595
for pkg in value['installed']:
9696
pkg_desc += '{0}-{1}, '.format(pkg['name'], pkg['version'])
@@ -125,7 +125,7 @@ def get_impact_report(vulns, local_pkgs, distro_name):
125125
def build_impact(vulns, local_pkgs, distro_name, result={}):
126126
"""Build impacts based on pkg comparisons"""
127127
logging.debug('build_impact')
128-
for data in list(vulns.values()):
128+
for data in vulns.values():
129129
for pkg in data['pkg']:
130130
name = pkg['name']
131131
ver = pkg['version']
@@ -152,7 +152,7 @@ def build_impact(vulns, local_pkgs, distro_name, result={}):
152152
def build_impact_report(impact, report={}):
153153
"""Build a report based on impacts"""
154154
logging.debug('build_impact_report')
155-
for adv, detail in list(impact.items()):
155+
for adv, detail in impact.items():
156156
if adv not in report:
157157
report[adv] = {
158158
'updated_pkg': [],
@@ -187,7 +187,7 @@ def create_vulns(oval_and_maps, vulns={}):
187187
logging.debug('create_vulns')
188188
id_maps = oval_and_maps[0]
189189
oval = oval_and_maps[1]
190-
for definition, data in list(id_maps.items()):
190+
for definition, data in id_maps.items():
191191
if definition in oval['definitions']:
192192
vulns[definition] = oval['definitions'][definition]
193193
vulns[definition]['pkg'] = []
@@ -217,7 +217,7 @@ def create_vulns(oval_and_maps, vulns={}):
217217
def map_oval_ids(oval, id_maps={}):
218218
"""For every test, grab only tests with both state and obj references"""
219219
logging.debug('map_oval_ids')
220-
for definition, data in list(oval['definitions'].items()):
220+
for definition, data in oval['definitions'].items():
221221
id_maps[definition] = {'objects': []}
222222
objects = id_maps[definition]['objects']
223223
tests = data['tests']

0 commit comments

Comments
 (0)