commit d9f41d39e1df1af9ff90b981d2be73194c26c8f9 Author: vaydheesh Date: Sat Jul 20 11:14:22 2019 +0530 pass list instead of string to subprocess.run() diff --git a/apertium/installer.py b/apertium/installer.py index 27b6f83..c7e5027 100644 --- a/apertium/installer.py +++ b/apertium/installer.py @@ -113,13 +113,14 @@ class Ubuntu: install_script_url = 'http://apertium.projectjj.com/apt/install-nightly.sh' with tempfile.NamedTemporaryFile('w') as install_script: urlretrieve(install_script_url, install_script.name) - subprocess.call('sudo bash {}'.format(install_script.name), shell=True) + execute = subprocess.run(['sudo', 'bash', install_script.name]) + execute.check_returncode() @staticmethod def _download_packages(packages: List[str]) -> None: - command = 'sudo apt-get -f --allow-unauthenticated install {}' - for package in packages: - subprocess.run(command.format(package), shell=True, check=True) + command = ['sudo', 'apt-get', 'install'] + packages + execute = subprocess.run(command) + execute.check_returncode() def install_apertium_language(self, languages: List[str]) -> None: self._download_packages(languages)