66 lines
1.6 KiB
Python
66 lines
1.6 KiB
Python
from driver import GPTDriver
|
|
from exec_python_code import create_namespace, run_code
|
|
from exec_term_code import run_shell_command
|
|
from formating_tools import isolate_code_bloc
|
|
import time
|
|
|
|
|
|
gpt_driver = GPTDriver()
|
|
import time
|
|
|
|
def connect_to_gpt_driver():
|
|
gpt_driver.connect()
|
|
gpt_driver.add_run_button()
|
|
time.sleep(3)
|
|
|
|
def execute_codes(codes):
|
|
answer = ""
|
|
for code in codes:
|
|
if 'python' in code.language.lower():
|
|
ans = run_code(code.code, create_namespace())
|
|
else:
|
|
ans = run_shell_command(code.code)
|
|
answer += ans + "\n"
|
|
return answer
|
|
|
|
def wait_continue_button_click():
|
|
loop_control = gpt_driver.driver.execute_script("return window.loopControl1;")
|
|
while loop_control != 'continue':
|
|
time.sleep(0.5)
|
|
loop_control = gpt_driver.driver.execute_script("return window.loopControl1;")
|
|
gpt_driver.driver.execute_script("window.loopControl1 = 'stop';")
|
|
|
|
def main(launch_first_prompt=False, first_prompt=None):
|
|
"""Main function"""
|
|
|
|
connect_to_gpt_driver()
|
|
|
|
if launch_first_prompt:
|
|
answer = first_prompt
|
|
else:
|
|
answer = ""
|
|
|
|
for j in range(100):
|
|
print(f"ITERATION {j}")
|
|
|
|
|
|
gpt_driver.write_message(answer)
|
|
#gpt_driver.send_message()
|
|
gpt_driver.wait_answer()
|
|
|
|
wait_continue_button_click()
|
|
|
|
answer = gpt_driver.get_last_chat()
|
|
codes = isolate_code_bloc(answer)
|
|
|
|
answer = execute_codes(codes)
|
|
|
|
|
|
time.sleep(1)
|
|
|
|
|
|
def create_user_data():
|
|
GPTDriver.create_user_data_dir()
|
|
|
|
if __name__ == "__main__":
|
|
main()
|