-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun.py
86 lines (68 loc) · 2.14 KB
/
run.py
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
from bottle import route, run
from Codeproc import CodeGenerator
import threading
import bottle
import json
import time
import os
prompt_file = "initprompt.json"
generator = None
generate = False
generator_thread = None
latest_response = ""
generatorEngine = CodeGenerator(prompt_file)
def codeGenThread():
global generate,latest_response,generator
response = None
while generate:
response,passed = generatorEngine.step(response)
latest_response = response
print(passed)
time.sleep(10)
if(passed):
generate = False
print("Generator Stopped")
@bottle.route('/')
def index():
root = os.path.join(os.path.dirname(__file__), 'bottle_frontend')
return bottle.static_file('index.html', root=root)
@bottle.route('/<filename>')
def interfaces(filename="interface.js"):
root = os.path.join(os.path.dirname(__file__), 'bottle_frontend')
return bottle.static_file(filename, root=root)
@bottle.route('/GPTresponse')
def getLatestResponse():
global latest_response
return latest_response
@bottle.route('/readJson/<filename>')
def readJson(filename="raw.json"):
root = 'resources'
retDict = {}
with open(root+"/"+filename) as fJson:
retDict = json.load(fJson)
return retDict
@bottle.route('/read/<filename>')
def readFiles(filename="dummy.py"):
root = os.path.join(os.path.dirname(__file__), 'resources')
response = bottle.static_file(filename, root=root)
response.set_header("Cache-Control", "public, max-age=1")
return response
@bottle.post('/buttons/start')
def buttonStart():
global generate, generator_thread
print(bottle.request.json)
with open(prompt_file,'w') as fjs:
json.dump(bottle.request.json,fjs)
generate = True
generatorEngine.configure(prompt_file)
generator_thread = threading.Thread(target=codeGenThread)
generator_thread.start()
@bottle.post('/buttons/stop')
def buttonStart():
global generate, generator_thread
print("STOPPING")
generate = False
if generator != None:
generator.stop()
generator_thread.join()
run(host='localhost', port=8080, debug=True, quiet=False)