GUI development

This commit is contained in:
BarsTiger
2022-01-26 20:12:47 +02:00
parent 4217fcccbc
commit 88be80a4af
3 changed files with 28 additions and 8 deletions

View File

@@ -9,7 +9,6 @@ from modules.console import cls
from modules.virustotal import add_to_cfg
from modules.uploader import upload
from modules.source import get_source
from modules.search import search, info
import modules.vars as horsy_vars
# Initialize GUI
@@ -47,12 +46,26 @@ def uninstall_app():
uninstall(app_name)
installed_apps()
def search_gui():
from modules.search import search
search_query = ui.search_box.toPlainText()
if search_query == "":
return
else:
found = search(search_query, True)
ui.search_table.clear()
ui.search_table.setColumnCount(4)
ui.search_table.setRowCount(math.ceil(len(found) / 4))
for i in range(len(found)):
ui.search_table.setItem(i // 4, i % 4, QtWidgets.QTableWidgetItem(str(found[i])))
# Run functions on startup
installed_apps()
# Binds
ui.update_button.clicked.connect(update_app)
ui.delete_button.clicked.connect(uninstall_app)
ui.search_button.clicked.connect(search_gui)
# Handle GUI exiting to exit whole program

View File

@@ -1,8 +1,9 @@
import json
import modules.vars as horsy_vars
def get_auth():
with open('config.cfg') as f:
with open(horsy_vars.horsypath + 'config.cfg') as f:
config = json.load(f)
try:
@@ -17,17 +18,17 @@ def get_auth():
print('password')
password = input('> ')
config['auth'] = {'email': email, 'password': password}
with open('config.cfg', 'w') as f:
with open(horsy_vars.horsypath + 'config.cfg', 'w') as f:
json.dump(config, f)
print('[OK] Auth created')
return config['auth']
def del_auth():
with open('config.cfg') as f:
with open(horsy_vars.horsypath + 'config.cfg') as f:
config = json.load(f)
if config['auth']:
config['auth'] = None
with open('config.cfg', 'w') as f:
with open(horsy_vars.horsypath + 'config.cfg', 'w') as f:
json.dump(config, f)
print('[OK] Auth deleted')

View File

@@ -12,11 +12,17 @@ client = SearchClient.create(
index = client.init_index('packages')
def search(query):
def search(query, is_gui=False):
res = index.search(query)['hits']
ret_res = list()
for i in res:
print(textwrap.shorten(f"{i['name']} by {i['authorName']} - {i['description']}",
width=os.get_terminal_size().columns))
if not is_gui:
print(textwrap.shorten(f"{i['name']} by {i['authorName']} - {i['description']}",
width=os.get_terminal_size().columns))
else:
ret_res.append(i['name'])
return ret_res
def info(package):