46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
from gui.gui import Ui_MainWindow
|
|
import pusher
|
|
import base64
|
|
import json
|
|
from gui.modules.core.popup import popup
|
|
|
|
|
|
def connect_to_host_admin(ui: Ui_MainWindow):
|
|
try:
|
|
creds = dict(json.loads(
|
|
base64.decodebytes(bytes(ui.collab_session_admin_key_box.text().replace('-', '\n'), encoding='utf-8')
|
|
).decode('utf-8').replace("'", '"')
|
|
))
|
|
creds_from_connection = dict(json.loads(
|
|
base64.decodebytes(bytes(creds['connection_key'].replace('-', '\n'), encoding='utf-8')
|
|
).decode('utf-8').replace("'", '"')
|
|
))
|
|
creds |= creds_from_connection
|
|
ui.control_admin_logs.append(f'Loaded {creds["name"]}')
|
|
except Exception as e:
|
|
print(e)
|
|
popup("Error", 'Invalid admin key')
|
|
return
|
|
|
|
ui.sender_creds = creds
|
|
|
|
ui.sender = pusher.Pusher(
|
|
app_id=creds["app_id"],
|
|
key=creds["key"],
|
|
secret=creds["secret"],
|
|
cluster=creds["cluster"]
|
|
)
|
|
ui.send_to_users_admin_button.setEnabled(True)
|
|
ui.stop_all_button_admin.setEnabled(True)
|
|
|
|
|
|
def on_send_sound_button(ui: Ui_MainWindow):
|
|
ui.sender.trigger(ui.sender_creds["connection_key"], 'sound',
|
|
ui.url_to_send_admin_box.text())
|
|
ui.control_admin_logs.append(f'Sent {ui.url_to_send_admin_box.text()}')
|
|
|
|
|
|
def on_stop_sound_button(ui: Ui_MainWindow):
|
|
ui.sender.trigger(ui.sender_creds["connection_key"], 'stop', None)
|
|
ui.control_admin_logs.append(f'Stopped sounds')
|