Merge pull request #494 from JakobDev/filtermirrorpy

Use pure Python code in filter_mirrors_by_region
This commit is contained in:
Anton Hvornum 2021-05-20 23:35:36 +02:00 committed by GitHub
commit 9bb940a8f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 4 deletions

View File

@ -5,7 +5,7 @@ from .general import *
from .output import log from .output import log
def filter_mirrors_by_region(regions, destination='/etc/pacman.d/mirrorlist', tmp_dir='/root', *args, **kwargs): def filter_mirrors_by_region(regions, destination='/etc/pacman.d/mirrorlist', *args, **kwargs):
""" """
This function will change the active mirrors on the live medium by This function will change the active mirrors on the live medium by
filtering which regions are active based on `regions`. filtering which regions are active based on `regions`.
@ -16,9 +16,10 @@ def filter_mirrors_by_region(regions, destination='/etc/pacman.d/mirrorlist', tm
region_list = [] region_list = []
for region in regions.split(','): for region in regions.split(','):
region_list.append(f'country={region}') region_list.append(f'country={region}')
o = b''.join(SysCommand(f"/usr/bin/wget 'https://archlinux.org/mirrorlist/?{'&'.join(region_list)}&protocol=https&ip_version=4&ip_version=6&use_mirror_status=on' -O {tmp_dir}/mirrorlist")) response = urllib.request.urlopen(f"https://archlinux.org/mirrorlist/?{'&'.join(region_list)}&protocol=https&ip_version=4&ip_version=6&use_mirror_status=on'")
o = b''.join(SysCommand(f"/usr/bin/sed -i 's/#Server/Server/' {tmp_dir}/mirrorlist")) new_list = response.read().replace(b"#Server", b"Server")
o = b''.join(SysCommand(f"/usr/bin/mv {tmp_dir}/mirrorlist {destination}")) with open(destination, "wb") as mirrorlist:
mirrorlist.write(new_list)
return True return True