Terra-Dash/app.py
megamichi fadf7b15c5 init
2024-09-13 15:07:56 +02:00

57 lines
No EOL
1.5 KiB
Python

from flask import *
import libtmux
app = Flask("Terradash")
server = libtmux.Server()
session = None
def initialize_tmux_session():
global session
# Versuche, die bestehende Session zu finden
if server.has_session("terradash"):
session = server.sessions.get(session_name="terradash")
def get_term():
print(session)
try:
if not session:
print(session)
return ["No Terminal is running"]
window = session.active_window
#rpane = window.panes[1]
lpane = window.panes[0]
return lpane.capture_pane()
except Exception as e:
return f"Error: {e}"
def enter_command(command):
print(session)
try:
if not session:
print(session)
return ["No Terminal is running"]
window = session.active_window
#rpane = window.panes[1]
lpane = window.panes[0]
lpane.send_keys(command)
except Exception as e:
return f"Error: {e}"
@app.route('/term', methods=['GET',"POST"])
def get_terminal_output():
if request.method == "POST":
data = list(request.data.decode())
print(type(data),data,len(data))
if data == "bla":
print("test")
enter_command("bla")
return ["sucessful"]
elif request.method == "GET":
return get_term()
@app.route("/")
def root():
return render_template("index.html")
if __name__ == "__main__":
initialize_tmux_session()
app.run(host="0.0.0.0",debug=True)