Removed error when yaml file is in plugin folder & created file in which the remove plugin function comes

This commit is contained in:
Neocky 2021-03-10 23:49:57 +01:00
parent db13b79a39
commit 1aae4bf9d3
4 changed files with 40 additions and 13 deletions

View File

@ -6,6 +6,7 @@ from plugin_updatechecker import updateInstalledPackage, checkInstalledPackage
from handle_config import checkConfig
from utilities import getHelp, check_requirements
from handle_sftp import createSFTPConnection, sftp_showPlugins
from plugin_remover import removePlugin
def createInputLists():
global COMMANDLIST
@ -14,7 +15,8 @@ def createInputLists():
'update',
'check',
'exit',
'help'
'help',
'remove'
]
global INPUTSELECTEDOBJECT
INPUTSELECTEDOBJECT = [
@ -46,9 +48,8 @@ def handleInput(inputCommand, inputSelectedObject, inputParams):
if inputCommand == 'help':
getHelp()
break
if inputCommand == 'sftp':
sftp = createSFTPConnection()
sftp_showPlugins(sftp)
if inputCommand == 'remove':
removePlugin(inputSelectedObject)
break
else:
print(oColors.brightRed + "Command not found. Please try again." + oColors.standardWhite)

View File

@ -104,7 +104,6 @@ def downloadSpecificVersion(ressourceId, downloadPath, versionID='latest'):
if not checkConfig().localPluginFolder:
print(downloadPath)
sftpSession = createSFTPConnection()
#sftp_cdPluginDir(sftpSession)
sftp_upload_file(sftpSession, downloadPath)

15
src/plugin_remover.py Normal file
View File

@ -0,0 +1,15 @@
import os
import re
from handle_config import checkConfig
from handle_sftp import createSFTPConnection, sftp_listAll
def removePlugin(pluginToRemove):
if not checkConfig().localPluginFolder:
sftp = createSFTPConnection()
pluginList = sftp_listAll(sftp)
else:
pluginList = os.listdir(checkConfig().pathToPluginFolder)
for plugin in pluginList:
#pluginVersion = re.search(pluginToRemove, pluginNameFull)
print(plugin)

View File

@ -20,9 +20,9 @@ def addToPluginList(pluginId, versionId, plugin_is_outdated):
def getFileName(pluginName):
pluginNameFull = pluginName
pluginVersion = re.search(r'([\d.]+[.jar]+)', pluginNameFull) #errors out when for example .yaml file in plugins
pluginVersion = re.search(r'([\d.]+[.jar]+)', pluginNameFull)
try:
pluginVersionFull = pluginVersion.group() # TODO fix this
pluginVersionFull = pluginVersion.group()
except AttributeError:
pluginVersionFull = pluginVersion
pluginNameOnlyy = pluginNameFull.replace(pluginVersionFull, '')
@ -62,9 +62,12 @@ def checkInstalledPackage(inputSelectedObject="all"):
print("Index / Name / Installed Version / Update available")
for plugin in pluginList:
try:
fileName = getFileName(plugin)
fileVersion = getFileVersion(plugin)
pluginId = getInstalledPlugin(fileName, fileVersion)
except TypeError:
continue
pluginIdStr = str(pluginId)
if fileVersion == '':
@ -100,11 +103,15 @@ def updateInstalledPackage(inputSelectedObject='all'):
else:
pluginList = os.listdir(checkConfig().pathToPluginFolder)
i = 0
pluginsUpdated = 0
for plugin in pluginList:
print(plugin)
try:
fileName = getFileName(plugin)
fileVersion = getFileVersion(plugin)
pluginId = getInstalledPlugin(fileName, fileVersion)
except TypeError:
continue
pluginIdStr = str(pluginId)
if pluginId == None:
@ -119,11 +126,13 @@ def updateInstalledPackage(inputSelectedObject='all'):
sftp = createSFTPConnection()
sftp.remove(pluginPath)
getSpecificPackage(pluginId, checkConfig().sftp_folderPath)
pluginsUpdated += 1
else:
pluginPath = checkConfig().pathToPluginFolder
pluginPath = f"{pluginPath}\\{plugin}"
os.remove(pluginPath)
getSpecificPackage(pluginId, checkConfig().pathToPluginFolder)
pluginsUpdated += 1
break
if inputSelectedObject == 'all':
@ -136,6 +145,7 @@ def updateInstalledPackage(inputSelectedObject='all'):
sftp.remove(pluginPath)
print("Downloading new plugin...")
getSpecificPackage(pluginId, checkConfig().sftp_folderPath)
pluginsUpdated += 1
else:
pluginPath = checkConfig().pathToPluginFolder
@ -144,7 +154,9 @@ def updateInstalledPackage(inputSelectedObject='all'):
os.remove(pluginPath)
print("Downloading new plugin...")
getSpecificPackage(pluginId, checkConfig().pathToPluginFolder)
pluginsUpdated += 1
i = i + 1
print(f"[{pluginsUpdated}/{i}] Plugins updated")
def getInstalledPlugin(localFileName, localFileVersion):