Replace filter() calls with list comprehensions

In Python 3, filter() returns an iterator.
Use list comprehensions instead.

Reviewed-By: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
This commit is contained in:
Petr Viktorin
2015-08-11 16:42:28 +02:00
committed by Jan Cholasta
parent 3bf91eab25
commit 5a9141dc40
8 changed files with 10 additions and 11 deletions

View File

@@ -1128,7 +1128,7 @@ class Object(HasParam):
self.__get_attrs('Method'), sort=False, name_attr='attr_name'
)
self._create_param_namespace('params')
pkeys = filter(lambda p: p.primary_key, self.params())
pkeys = [p for p in self.params() if p.primary_key]
if len(pkeys) > 1:
raise ValueError(
'%s (Object) has multiple primary keys: %s' % (
@@ -1139,7 +1139,7 @@ class Object(HasParam):
if len(pkeys) == 1:
self.primary_key = pkeys[0]
self.params_minus_pk = NameSpace(
filter(lambda p: not p.primary_key, self.params()), sort=False
[p for p in self.params() if not p.primary_key], sort=False
)
else:
self.primary_key = None

View File

@@ -792,9 +792,8 @@ class Param(ReadOnly):
if type(value) not in (tuple, list):
value = (value,)
values = tuple(
self._convert_scalar(v, i) for (i, v) in filter(
lambda iv: not _is_null(iv[1]), enumerate(value)
)
self._convert_scalar(v, i)
for (i, v) in enumerate(value) if not _is_null(v)
)
if len(values) == 0:
return