From 50038c44740fc138df31e2b8b99ec7f8cc666a54 Mon Sep 17 00:00:00 2001 From: Neocky Date: Sun, 27 Jun 2021 01:46:15 +0200 Subject: [PATCH] Fixed issue with seperate download path for sftp, ftp & local Changes: - fixed issue when updating with the activated option of a seperate download path - removed leftover debug output --- src/handlers/handle_ftp.py | 7 ++++-- src/handlers/handle_sftp.py | 6 ++++- src/plugin/plugin_updatechecker.py | 40 +++++++++++------------------- 3 files changed, 24 insertions(+), 29 deletions(-) diff --git a/src/handlers/handle_ftp.py b/src/handlers/handle_ftp.py index 27fbebb..f12915d 100644 --- a/src/handlers/handle_ftp.py +++ b/src/handlers/handle_ftp.py @@ -29,8 +29,12 @@ def ftp_showPlugins(ftp): def ftp_upload_file(ftp, itemPath): configValues = configurationValues() + if configValues.sftp_seperateDownloadPath is True: + uploadFolderPath = configValues.sftp_pathToSeperateDownloadPath + else: + uploadFolderPath = configValues.sftp_folderPath try: - ftp.cwd(configValues.sftp_folderPath) + ftp.cwd(uploadFolderPath) itemPath = os.path.relpath(itemPath, 'TempSFTPFolder/') itemPath = str(itemPath) currentDirectory = os.getcwd() @@ -46,7 +50,6 @@ def ftp_upload_file(ftp, itemPath): def ftp_upload_server_jar(ftp, itemPath): try: - print(f"itempath: {itemPath}") ftp.cwd('.') itemPath = os.path.relpath(itemPath, 'TempSFTPFolder/') itemPath = str(itemPath) diff --git a/src/handlers/handle_sftp.py b/src/handlers/handle_sftp.py index df5e71a..1af2eec 100644 --- a/src/handlers/handle_sftp.py +++ b/src/handlers/handle_sftp.py @@ -37,8 +37,12 @@ def sftp_showPlugins(sftp): def sftp_upload_file(sftp, itemPath): configValues = configurationValues() + if configValues.sftp_seperateDownloadPath is True: + uploadFolderPath = configValues.sftp_pathToSeperateDownloadPath + else: + uploadFolderPath = configValues.sftp_folderPath try: - sftp.chdir(configValues.sftp_folderPath) + sftp.chdir(uploadFolderPath) sftp.put(itemPath) except FileNotFoundError: diff --git a/src/plugin/plugin_updatechecker.py b/src/plugin/plugin_updatechecker.py index d428435..6aaab87 100644 --- a/src/plugin/plugin_updatechecker.py +++ b/src/plugin/plugin_updatechecker.py @@ -86,13 +86,12 @@ def compareVersions(plugin_latest_version, pluginVersion): def eggCrackingJar(localJarFileName, searchMode): configValues = configurationValues() if not configValues.localPluginFolder: + tempPluginFolderPath = createTempPluginFolder() if configValues.sftp_useSftp: - tempPluginFolderPath = createTempPluginFolder() sftp = createSFTPConnection() pathToPluginJar = Path(f"{tempPluginFolderPath}/{localJarFileName}") sftp_downloadFile(sftp, pathToPluginJar, localJarFileName) else: - tempPluginFolderPath = createTempPluginFolder() ftp = createFTPConnection() pathToPluginJar = Path(f"{tempPluginFolderPath}/{localJarFileName}") ftp_downloadFile(ftp, pathToPluginJar, localJarFileName) @@ -286,11 +285,7 @@ def updateInstalledPackage(inputSelectedObject='all'): for pluginArray in track(INSTALLEDPLUGINLIST, description="Updating" ,transient=True, complete_style="bright_magenta", ): plugin = INSTALLEDPLUGINLIST[i][0] if not configValues.localPluginFolder: - if configValues.sftp_seperateDownloadPath is True: - pluginFile = f"{configValues.sftp_pathToSeperateDownloadPath}/{plugin}" - else: - pluginFile = f"{configValues.sftp_folderPath}/{plugin}" - + pluginFile = f"{configValues.sftp_folderPath}/{plugin}" if configValues.sftp_useSftp: pluginAttributes = sftp_validateFileAttributes(connection, pluginFile) if pluginAttributes == False: @@ -335,17 +330,17 @@ def updateInstalledPackage(inputSelectedObject='all'): print(f"{fileVersion}".ljust(13), end='') print(f"{latestVersion}".ljust(13)) if not configValues.localPluginFolder: + if configValues.sftp_seperateDownloadPath is True: + pluginPath = configValues.sftp_pathToSeperateDownloadPath + else: + pluginPath = configValues.sftp_folderPath + pluginPath = f"{pluginPath}/{plugin}" + indexNumberUpdated += 1 + pluginsUpdated += 1 if configValues.sftp_useSftp: - if configValues.sftp_seperateDownloadPath is True: - pluginPath = configValues.sftp_pathToSeperateDownloadPath - else: - pluginPath = configValues.sftp_folderPath - pluginPath = f"{pluginPath}/{plugin}" sftp = createSFTPConnection() - indexNumberUpdated += 1 - pluginsUpdated += 1 try: - getSpecificPackage(pluginId, configValues.sftp_folderPath) + getSpecificPackage(pluginId, pluginPath) if configValues.sftp_seperateDownloadPath is False: sftp.remove(pluginPath) except HTTPError as err: @@ -353,17 +348,11 @@ def updateInstalledPackage(inputSelectedObject='all'): pluginsUpdated -= 1 except FileNotFoundError: print(oColors.brightRed + f"FileNotFoundError: Old plugin file coulnd't be deleted" + oColors.standardWhite) + else: - if configValues.sftp_seperateDownloadPath is True: - pluginPath = configValues.sftp_pathToSeperateDownloadPath - else: - pluginPath = configValues.sftp_folderPath - pluginPath = f"{pluginPath}/{plugin}" ftp = createFTPConnection() - indexNumberUpdated += 1 - pluginsUpdated += 1 try: - getSpecificPackage(pluginId, configValues.sftp_folderPath) + getSpecificPackage(pluginId, pluginPath) if configValues.sftp_seperateDownloadPath is False: ftp.delete(pluginPath) except HTTPError as err: @@ -376,12 +365,11 @@ def updateInstalledPackage(inputSelectedObject='all'): if configValues.seperateDownloadPath is True: pluginPath = configValues.pathToSeperateDownloadPath else: - pluginPath = pluginFolderPath - pluginPath = Path(f"{pluginPath}/{plugin}") + pluginPath = configValues.pathToPluginFolder indexNumberUpdated += 1 pluginsUpdated += 1 try: - getSpecificPackage(pluginId, pluginFolderPath) + getSpecificPackage(pluginId, pluginPath) if configValues.seperateDownloadPath is False: os.remove(pluginPath) except HTTPError as err: