GUI development
This commit is contained in:
18
horsygui.py
18
horsygui.py
@@ -1,11 +1,8 @@
|
|||||||
import argparse
|
|
||||||
import os
|
|
||||||
import sys
|
import sys
|
||||||
import math
|
import math
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
import modules.gui as gui
|
import modules.gui as gui
|
||||||
from modules.console import cls
|
|
||||||
|
|
||||||
# Initialize GUI
|
# Initialize GUI
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
@@ -100,6 +97,19 @@ def get_source_gui():
|
|||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def info_gui():
|
||||||
|
from modules.search import info
|
||||||
|
try:
|
||||||
|
app_name = ui.search_table.currentItem().text()
|
||||||
|
if app_name == "":
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
info = info(app_name, download_ui, UiDownloadWindow)
|
||||||
|
if info is not None:
|
||||||
|
gui.popup("Error", info)
|
||||||
|
except:
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
def upload_gui():
|
def upload_gui():
|
||||||
from modules.uploader import upload
|
from modules.uploader import upload
|
||||||
@@ -117,6 +127,8 @@ if __name__ == "__main__":
|
|||||||
ui.search_button.clicked.connect(search_gui)
|
ui.search_button.clicked.connect(search_gui)
|
||||||
ui.install_button.clicked.connect(install_app)
|
ui.install_button.clicked.connect(install_app)
|
||||||
ui.source_button.clicked.connect(get_source_gui)
|
ui.source_button.clicked.connect(get_source_gui)
|
||||||
|
ui.info_button.clicked.connect(info_gui)
|
||||||
|
ui.search_table.itemDoubleClicked.connect(info_gui)
|
||||||
ui.upload_button.clicked.connect(upload_gui)
|
ui.upload_button.clicked.connect(upload_gui)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ def install(package):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def uninstall(package, is_gui=False):
|
def uninstall(package, login_ui=None, Ui_LoginWindow=None):
|
||||||
if os.path.exists('{1}apps/{0}'.format(package, horsy_vars.horsypath)):
|
if os.path.exists('{1}apps/{0}'.format(package, horsy_vars.horsypath)):
|
||||||
os.system('rmdir /s /q "{1}apps/{0}"'.format(package, horsy_vars.horsypath))
|
os.system('rmdir /s /q "{1}apps/{0}"'.format(package, horsy_vars.horsypath))
|
||||||
print(f"[green][OK] Files deleted[/]")
|
print(f"[green][OK] Files deleted[/]")
|
||||||
|
|||||||
@@ -25,20 +25,20 @@ def search(query, is_gui=False):
|
|||||||
return ret_res
|
return ret_res
|
||||||
|
|
||||||
|
|
||||||
def info(package):
|
def info(package, download_ui=None, UiDownloadWindow=None):
|
||||||
r = requests.get(f"{horsy_vars.protocol}{horsy_vars.server_url}/packages/json/{package}").text
|
r = requests.get(f"{horsy_vars.protocol}{horsy_vars.server_url}/packages/json/{package}").text
|
||||||
if r == "":
|
if r == "":
|
||||||
print(f"[red]Package {package} not found[/]")
|
print(f"[red]Package {package} not found[/]")
|
||||||
return
|
return f"Package {package} not found"
|
||||||
try:
|
try:
|
||||||
r = json.loads(r)
|
r = json.loads(r)
|
||||||
except:
|
except:
|
||||||
print("[red]Error with unsupported message[/]")
|
print("[red]Error with unsupported message[/]")
|
||||||
return
|
return "Error with unsupported message"
|
||||||
try:
|
try:
|
||||||
if r["message"] == "Internal server error":
|
if r["message"] == "Internal server error":
|
||||||
print("[red]Internal server error[/]")
|
print("[red]Internal server error[/]")
|
||||||
return
|
return "Internal server error"
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -54,3 +54,20 @@ def info(package):
|
|||||||
"Keep in mind, developers can change the code after verification \n"
|
"Keep in mind, developers can change the code after verification \n"
|
||||||
"We [red]don't call you to trust this app[/], use it at your own risk \n"
|
"We [red]don't call you to trust this app[/], use it at your own risk \n"
|
||||||
"but we recommend you more to install verified packages")
|
"but we recommend you more to install verified packages")
|
||||||
|
if download_ui is not None:
|
||||||
|
download_ui.logs_box.clear()
|
||||||
|
UiDownloadWindow.show()
|
||||||
|
download_ui.logs_box.append(f"{r['name']}{'✅' if r['verified'] else ''} by {r['authorName']}")
|
||||||
|
download_ui.logs_box.append(f"{r['description']}")
|
||||||
|
download_ui.logs_box.append(f"👍{r['likes']} | 👎{r['dislikes']}")
|
||||||
|
if not r['verified']:
|
||||||
|
download_ui.logs_box.append("This package is not verified by the horsy team. This means that it \n"
|
||||||
|
"can be unstable or it can be malware. Most packages have unverified\n"
|
||||||
|
"state, but use it at your own risk.")
|
||||||
|
else:
|
||||||
|
download_ui.logs_box.append("This package is verified by the horsy team! \n"
|
||||||
|
"Keep in mind, developers can change the code after verification \n"
|
||||||
|
"We don't call you to trust this app, use it at your own risk \n"
|
||||||
|
"but we recommend you more to install verified packages")
|
||||||
|
return None
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user