File size: 4,455 Bytes
9f33893 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
import os
import asyncio
import http.server
import socketserver
import streamlit as st
servers = []
clients = []
inputs = []
outputs = []
states = []
used_ports = []
connections = []
server_ports = []
client_ports = []
st.set_page_config(layout="wide")
if "http_server" not in st.session_state:
PORT = 8001
Handler = http.server.SimpleHTTPRequestHandler
st.session_state.http_server = PORT
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print("serving at port", PORT)
httpd.serve_forever()
if "client_state" not in st.session_state:
st.session_state.client_state = "complete"
if "server_state" not in st.session_state:
st.session_state.server_state = "complete"
# Wyświetlanie danych, które mogą być modyfikowane na różnych stronach
server_status1 = st.status(label="websocket servers", state=st.session_state.server_state, expanded=False)
server_status = st.sidebar.status(label="websocket servers", state=st.session_state.server_state, expanded=False)
server_status1.write(servers)
server_status.write(servers)
client_status1 = st.status(label="websocket clients", state=st.session_state.client_state, expanded=False)
client_status = st.sidebar.status(label="websocket clients", state=st.session_state.client_state, expanded=False)
client_status1.write(clients)
client_status.write(clients)
async def main():
# Inicjalizacja danych w st.session_state
if "server_ports" not in st.session_state:
st.session_state['server_ports'] = ""
if "client_ports" not in st.session_state:
st.session_state["client_ports"] = ""
if "servers" not in st.session_state:
st.session_state['servers'] = servers
if "clients" not in st.session_state:
st.session_state["clients"] = clients
if "user_ID" not in st.session_state:
st.session_state.user_ID = ""
if "gradio_Port" not in st.session_state:
st.session_state.gradio_Port = ""
if "googleAPI" not in st.session_state:
st.session_state.googleAPI = ""
if "cseID" not in st.session_state:
st.session_state.cseID = ""
if "server" not in st.session_state:
st.session_state.server = False
if "client" not in st.session_state:
st.session_state.client = False
if "client_state" not in st.session_state:
st.session_state.client_state = "complete"
if "server_state" not in st.session_state:
st.session_state.server_state = "complete"
st.title("NeuralGPT")
c1, c2 = st.columns(2)
with c1:
st.text("Server ports")
srv_state = st.empty()
server_status1 = srv_state.status(label="active servers", state=st.session_state.client_state, expanded=False)
if st.session_state.server == True:
st.session_state.server_state = "running"
server_status1.update(state=st.session_state.client_state, expanded=True)
server_status1.write(servers)
with c2:
st.text("Client ports")
cli_state = st.empty()
client_status1 = cli_state.status(label="active clients", state=st.session_state.client_state, expanded=False)
if st.session_state.client == True:
st.session_state.client_state = "running"
client_status1.update(state=st.session_state.client_state, expanded=True)
client_status1.write(clients)
with st.sidebar:
srv_sidebar = st.empty()
cli_sidebar = st.empty()
server_status = srv_sidebar.status(label="los serveros", state=st.session_state.client_state, expanded=True)
client_status = cli_sidebar.status(label="los clientos", state=st.session_state.client_state, expanded=False)
server_status.write(servers)
client_status.write(clients)
if st.session_state.server == True:
srv_sidebar.empty()
st.session_state.server_state = "running"
server_status = srv_sidebar.status(label="servers", state=st.session_state.client_state, expanded=True)
server_status.write(servers)
if st.session_state.client == True:
cli_sidebar.empty()
st.session_state.client_state = "running"
client_status = cli_sidebar.status(label="clients", state=st.session_state.client_state, expanded=True)
client_status.write(clients)
# Uruchomienie aplikacji
asyncio.run(main()) |