diff --git a/slpkg/downloader.py b/slpkg/downloader.py index 691a8030..c7dc409a 100644 --- a/slpkg/downloader.py +++ b/slpkg/downloader.py @@ -23,6 +23,7 @@ class Downloader(Configs): self.errors = Errors() self.utils = Utilities() + self.filename = None self.downloader_command: str = str() self.option_for_parallel: bool = self.utils.is_option( @@ -47,7 +48,7 @@ class Downloader(Configs): def tools(self, url: str) -> None: """ Downloader tools wget, wget2, curl and lftp. """ path: str = urlparse(url).path - filename: str = unquote(Path(path).name) + self.filename: str = unquote(Path(path).name) downloader_tool: dict = { 'wget': self.wget_downloader, @@ -60,12 +61,12 @@ class Downloader(Configs): self.copy_local_binary_file(url) else: try: - downloader_tool[self.downloader](url, filename) + downloader_tool[self.downloader](url) except KeyError: self.errors.raise_error_message(f"Downloader '{self.downloader}' not supported", exit_status=1) self.utils.process(self.downloader_command) - self.check_if_downloaded(url, filename) + self.check_if_downloaded(url) def copy_local_binary_file(self, url: str) -> None: try: @@ -74,17 +75,18 @@ class Downloader(Configs): except FileNotFoundError as error: self.errors.raise_error_message(f'{error}', 1) - def wget_downloader(self, url: str, filename=None) -> None: + def wget_downloader(self, url: str) -> None: self.downloader_command: str = f'{self.downloader} {self.wget_options} --directory-prefix={self.path} "{url}"' - def curl_downloader(self, url: str, filename: str) -> None: - self.downloader_command: str = f'{self.downloader} {self.curl_options} "{url}" --output {self.path}/{filename}' + def curl_downloader(self, url: str) -> None: + self.downloader_command: str = (f'{self.downloader} {self.curl_options} "{url}" ' + f'--output {self.path}/{self.filename}') - def lftp_downloader(self, url: str, filename=None) -> None: + def lftp_downloader(self, url: str) -> None: self.downloader_command: str = f'{self.downloader} {self.lftp_get_options} {url} -o {self.path}' - def check_if_downloaded(self, url: str, filename: str) -> None: + def check_if_downloaded(self, url: str) -> None: """ Checks if the file downloaded. """ - path_file: Path = Path(self.path, filename) + path_file: Path = Path(self.path, self.filename) if not path_file.exists(): self.errors.raise_error_message(f"Download the '{url}'", exit_status=20)