mirror of
https://github.com/Neocky/pluGET.git
synced 2024-04-29 16:12:30 +00:00
Added plugin remover
This commit is contained in:
parent
119d44631f
commit
6b926c9564
@ -3,6 +3,7 @@ Handles the input through the pluGET command line
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from src.utils.console_output import rich_print_error
|
from src.utils.console_output import rich_print_error
|
||||||
|
from src.plugin.plugin_remover import delete_plugin
|
||||||
from src.plugin.plugin_downloader import get_specific_plugin_spiget, search_specific_plugin_spiget
|
from src.plugin.plugin_downloader import get_specific_plugin_spiget, search_specific_plugin_spiget
|
||||||
from src.plugin.plugin_updatechecker import check_installed_plugins, update_installed_plugins
|
from src.plugin.plugin_updatechecker import check_installed_plugins, update_installed_plugins
|
||||||
from src.serverjar.serverjar_updatechecker import \
|
from src.serverjar.serverjar_updatechecker import \
|
||||||
@ -17,7 +18,7 @@ from src.serverjar.serverjar_purpur import serverjar_purpur_update
|
|||||||
# get-paper
|
# get-paper
|
||||||
# get-waterfall
|
# get-waterfall
|
||||||
# get-velocity
|
# get-velocity
|
||||||
# get-purpur ???
|
# get-purpur
|
||||||
# exit
|
# exit
|
||||||
# remove
|
# remove
|
||||||
# search
|
# search
|
||||||
@ -58,6 +59,15 @@ def handle_input(
|
|||||||
case _:
|
case _:
|
||||||
search_specific_plugin_spiget(input_selected_object)
|
search_specific_plugin_spiget(input_selected_object)
|
||||||
|
|
||||||
|
case "get-paper":
|
||||||
|
serverjar_papermc_update(input_selected_object, input_parameter, None, "paper")
|
||||||
|
case "get-velocity":
|
||||||
|
serverjar_papermc_update(input_selected_object, input_parameter, None, "velocity")
|
||||||
|
case "get-waterfall":
|
||||||
|
serverjar_papermc_update(input_selected_object, input_parameter, None, "waterfall")
|
||||||
|
case "get-purpur":
|
||||||
|
serverjar_purpur_update(input_selected_object, input_parameter, None)
|
||||||
|
|
||||||
case "update":
|
case "update":
|
||||||
match input_selected_object:
|
match input_selected_object:
|
||||||
case "serverjar":
|
case "serverjar":
|
||||||
@ -74,18 +84,8 @@ def handle_input(
|
|||||||
|
|
||||||
case "search":
|
case "search":
|
||||||
search_specific_plugin_spiget(input_selected_object)
|
search_specific_plugin_spiget(input_selected_object)
|
||||||
# TODO add remover
|
case "remove":
|
||||||
#case "remove":
|
delete_plugin(input_selected_object)
|
||||||
# print("remove package")
|
|
||||||
# #removePlugin(inputSelectedObject)
|
|
||||||
case "get-paper":
|
|
||||||
serverjar_papermc_update(input_selected_object, input_parameter, None, "paper")
|
|
||||||
case "get-velocity":
|
|
||||||
serverjar_papermc_update(input_selected_object, input_parameter, None, "velocity")
|
|
||||||
case "get-waterfall":
|
|
||||||
serverjar_papermc_update(input_selected_object, input_parameter, None, "waterfall")
|
|
||||||
case "get-purpur":
|
|
||||||
serverjar_purpur_update(input_selected_object, input_parameter, None)
|
|
||||||
case "exit":
|
case "exit":
|
||||||
return
|
return
|
||||||
case _:
|
case _:
|
||||||
|
56
src/plugin/plugin_remover.py
Normal file
56
src/plugin/plugin_remover.py
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
"""
|
||||||
|
Removes the specified plugin file from the ./plugins folder
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
from pathlib import Path
|
||||||
|
from rich.console import Console
|
||||||
|
|
||||||
|
from src.handlers.handle_config import config_value
|
||||||
|
from src.utils.console_output import rich_print_error
|
||||||
|
from src.handlers.handle_sftp import sftp_create_connection, sftp_list_all
|
||||||
|
from src.handlers.handle_ftp import ftp_create_connection, ftp_list_all
|
||||||
|
|
||||||
|
|
||||||
|
def delete_plugin(plugin_name: str) -> None:
|
||||||
|
"""
|
||||||
|
Deletes the specific plugin file
|
||||||
|
|
||||||
|
:param plugin_name: Name of plugin file to delete
|
||||||
|
|
||||||
|
:returns: None
|
||||||
|
"""
|
||||||
|
config_values = config_value()
|
||||||
|
rich_console = Console()
|
||||||
|
match config_values.connection:
|
||||||
|
case "sftp":
|
||||||
|
connection = sftp_create_connection()
|
||||||
|
plugin_list = sftp_list_all()
|
||||||
|
case "ftp":
|
||||||
|
connection = ftp_create_connection()
|
||||||
|
plugin_list = ftp_list_all()
|
||||||
|
case "local":
|
||||||
|
plugin_list = os.listdir(config_values.path_to_plugin_folder)
|
||||||
|
for plugin_file in plugin_list:
|
||||||
|
# skip all other plugins
|
||||||
|
if not re.search(plugin_name, plugin_file, re.IGNORECASE):
|
||||||
|
continue
|
||||||
|
|
||||||
|
try:
|
||||||
|
match config_values.connection:
|
||||||
|
case "sftp":
|
||||||
|
plugin_path = f"{config_values.remote_plugin_folder_on_server}/{plugin_file}"
|
||||||
|
connection = sftp_create_connection()
|
||||||
|
connection.remove(plugin_path)
|
||||||
|
case "ftp":
|
||||||
|
plugin_path = f"{config_values.remote_plugin_folder_on_server}/{plugin_file}"
|
||||||
|
connection = ftp_create_connection()
|
||||||
|
connection.delete(plugin_path)
|
||||||
|
case "local":
|
||||||
|
pluginPath = Path(f"{config_values.path_to_plugin_folder}/{plugin_file}")
|
||||||
|
os.remove(pluginPath)
|
||||||
|
rich_console.print(f"[not bold][bright_green]Successfully removed: [bright_magenta]{plugin_file}")
|
||||||
|
except:
|
||||||
|
rich_print_error(f"[not bold]Error: Couldn't remove [bright_magenta]{plugin_file}")
|
||||||
|
return None
|
Loading…
Reference in New Issue
Block a user