Replace for loops with comprehensions

This commit is contained in:
monosans 2021-07-16 10:42:29 +03:00
parent 3a40764194
commit 3d4f58a04e
5 changed files with 13 additions and 20 deletions

View File

@ -98,10 +98,7 @@ class JsonEncoder:
elif isinstance(obj, (datetime, date)):
return obj.isoformat()
elif isinstance(obj, (list, set, tuple)):
r = []
for item in obj:
r.append(json.loads(json.dumps(item, cls=JSON)))
return r
return [json.loads(json.dumps(item, cls=JSON)) for item in obj]
else:
return obj

View File

@ -131,7 +131,10 @@ def product_name() -> Optional[str]:
def mem_info():
# This implementation is from https://stackoverflow.com/a/28161352
return dict((i.split()[0].rstrip(':'), int(i.split()[1])) for i in open('/proc/meminfo').readlines())
return {
i.split()[0].rstrip(':'): int(i.split()[1])
for i in open('/proc/meminfo').readlines()
}
def mem_available() -> Optional[str]:

View File

@ -59,9 +59,7 @@ def filter_mirrors_by_region(regions, destination='/etc/pacman.d/mirrorlist', so
:param regions: A series of country codes separated by `,`. For instance `SE,US` for sweden and United States.
:type regions: str
"""
region_list = []
for region in regions.split(','):
region_list.append(f'country={region}')
region_list = [f'country={region}' for region in regions.split(',')]
response = urllib.request.urlopen(urllib.request.Request(f"https://archlinux.org/mirrorlist/?{'&'.join(region_list)}&protocol=https&protocol=http&ip_version=4&ip_version=6&use_mirror_status=on'", headers={'User-Agent': 'ArchInstall'}))
new_list = response.read().replace(b"#Server", b"Server")

View File

@ -46,10 +46,7 @@ def find_packages(*names):
The function itself is rather slow, so consider not sending to
many packages to the search query.
"""
result = {}
for package in names:
result[package] = find_package(package)
return result
return {package: find_package(package) for package in names}
def validate_package_list(packages: list):
@ -57,11 +54,11 @@ def validate_package_list(packages: list):
Validates a list of given packages.
Raises `RequirementError` if one or more packages are not found.
"""
invalid_packages = []
for package in packages:
if not find_package(package)['results'] and not find_group(package):
invalid_packages.append(package)
invalid_packages = [
package
for package in packages
if not find_package(package)['results'] and not find_group(package)
]
if invalid_packages:
raise RequirementError(f"Invalid package names: {invalid_packages}")

View File

@ -7,9 +7,7 @@ sys.path.insert(0, os.path.abspath('..'))
def process_docstring(app, what, name, obj, options, lines):
spaces_pat = re.compile(r"( {8})")
ll = []
for line in lines:
ll.append(spaces_pat.sub(" ", line))
ll = [spaces_pat.sub(" ", line) for line in lines]
lines[:] = ll