59 lines
2.3 KiB
Python
59 lines
2.3 KiB
Python
from modules.auth import get_auth
|
|
from horsygui import login_ui, UiLoginWindow as Ui_LoginWindow
|
|
import modules.gui as gui
|
|
from modules.request import request
|
|
import modules.vars as horsy_vars
|
|
from modules.http_status import handle
|
|
import json
|
|
|
|
|
|
def edit(package, UiPackageWindow):
|
|
package_ui = gui.Ui_PackageWindow()
|
|
package_ui.setupUi(UiPackageWindow)
|
|
|
|
r = request.get(f"{horsy_vars.protocol}{horsy_vars.server_url}/packages/json/{package}")
|
|
try:
|
|
r_code = handle(r.status_code)
|
|
if r_code[1] not in [200, 201]:
|
|
gui.cpopup("Error", r_code[0])
|
|
r = r.text
|
|
r = json.loads(r)
|
|
except:
|
|
return
|
|
|
|
package_ui.packagename_box.setText("Editing package " + r["name"])
|
|
package_ui.package_desc_box.setText(r["description"])
|
|
package_ui.url_of_exe_box.setText(r["url"])
|
|
package_ui.source_url_box.setText(r["sourceUrl"])
|
|
package_ui.dependency_url_box.setText(r["download"])
|
|
package_ui.dependency_run_box.setText(r["install"])
|
|
package_ui.main_exe_box.setText(r["run"])
|
|
|
|
UiPackageWindow.show()
|
|
|
|
def send():
|
|
body = {
|
|
'auth': get_auth(True, login_ui, Ui_LoginWindow),
|
|
'name': package,
|
|
'description': (lambda x: x if x != '' else None)(package_ui.package_desc_box.toPlainText()),
|
|
'url': (lambda x: x if x != '' else None)(package_ui.url_of_exe_box.text()),
|
|
'sourceUrl': (lambda x: x if x != '' else None)(package_ui.source_url_box.text()),
|
|
'download': (lambda x: x if x != '' else None)(package_ui.dependency_url_box.text()),
|
|
'install': (lambda x: x if x != '' else None)(package_ui.dependency_run_box.text()),
|
|
'run': (lambda x: x if x != '' else None)(package_ui.main_exe_box.text())
|
|
}
|
|
|
|
gui.cpopup("Updating",
|
|
handle(request.put(f"{horsy_vars.protocol}{horsy_vars.server_url}/packages",
|
|
json=body).status_code)[0])
|
|
|
|
package_ui.update_button.clicked.connect(send)
|
|
|
|
|
|
def push_version(package):
|
|
gui.cpopup("Pushing version",
|
|
handle(request.post(f"{horsy_vars.protocol}{horsy_vars.server_url}/packages/push-version", json={
|
|
'auth': get_auth(True, login_ui, Ui_LoginWindow),
|
|
'name': package
|
|
}).status_code)[0])
|