File size: 1,460 Bytes
dd52df4
02dde9f
 
0bee3d6
dd52df4
0bee3d6
dd52df4
 
02dde9f
 
 
 
0bee3d6
02dde9f
0bee3d6
dd52df4
02dde9f
 
 
 
0bee3d6
02dde9f
0bee3d6
02dde9f
0bee3d6
02dde9f
 
 
 
 
0bee3d6
02dde9f
 
 
0bee3d6
 
02dde9f
0bee3d6
02dde9f
0bee3d6
02dde9f
0bee3d6
 
02dde9f
 
0bee3d6
 
 
02dde9f
0bee3d6
 
02dde9f
0bee3d6
 
02dde9f
 
 
 
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
import os
import subprocess
import sys
import streamlit as st

process = None  # Global variable to store process


def start_process():
    global process
    if process is None or process.poll() is not None:  # Check if process isn't running
        process = subprocess.Popen([sys.executable, "-m", "Powers"])
        st.success(f"Process started with PID: {process.pid}")
    else:
        st.warning("The process is already running.")


def stop_process():
    global process
    if process and process.poll() is None:  # Check if process is running
        process.terminate()  # Stop process
        process.wait()
        st.success("Process stopped.")
    else:
        st.warning("The process is not running.")


def restart_process():
    stop_process()
    start_process()
    st.success("Process restarted.")


def main():
    st.title("Process Control Panel")

    if not os.path.exists("Seonari"):
        st.write("Cloning repository...")
        subprocess.run(["git", "clone", "https://github.com/taslim19/Seonari"], check=True)
    
    os.chdir("Seonari")

    st.write("Installing dependencies...")
    subprocess.run([sys.executable, "-m", "pip", "install", "-r", "requirements.txt"], check=True)

    # Display buttons on the Streamlit app
    if st.button("Start"):
        start_process()

    if st.button("Stop"):
        stop_process()

    if st.button("Restart"):
        restart_process()


if __name__ == "__main__":
    main()