4
4
import threading
5
5
import json
6
6
import sys
7
- from . import pharo_hooks_globals
7
+ from PythonBridge import bridge_globals , bridge_hooks
8
8
9
9
class ThreadedFlask ():
10
10
def __init__ (self , flaskApp , port ):
@@ -128,45 +128,45 @@ def convert_from_JSON(text):
128
128
129
129
#### NOTIFICATION FUNCTIONS
130
130
def notify (obj , notificationId ):
131
- pharo_hooks_globals .logger .log ("PYTHON: Notify " + str (notificationId ))
131
+ bridge_globals .logger .log ("PYTHON: Notify " + str (notificationId ))
132
132
data = {}
133
133
data ["id" ] = notificationId
134
134
data ["value" ] = convert_to_JSON (obj )
135
- conn = http .client .HTTPConnection ("localhost" , str (pharo_hooks_globals .pharoPort ))
135
+ conn = http .client .HTTPConnection ("localhost" , str (bridge_globals .pharoPort ))
136
136
conn .request ("POST" , "/notify" , json .dumps (data ), {
137
137
"Content-type" : "application/json" ,
138
138
"Accept" : "text/plain" })
139
139
conn .getresponse ()
140
- pharo_hooks_globals .logger .log ("PYTHON: Finish notify" )
140
+ bridge_globals .logger .log ("PYTHON: Finish notify" )
141
141
142
142
def notify_observer (obj , commandId , observerId ):
143
- pharo_hooks_globals .logger .log ("PYTHON: Notify observer " + str (commandId ) + " " + str (observerId ))
143
+ bridge_globals .logger .log ("PYTHON: Notify observer " + str (commandId ) + " " + str (observerId ))
144
144
data = {}
145
145
data ["commandId" ] = commandId
146
146
data ["observerId" ] = observerId
147
147
data ["value" ] = convert_to_JSON (obj )
148
- conn = http .client .HTTPConnection ("localhost" , str (pharo_hooks_globals .pharoPort ))
148
+ conn = http .client .HTTPConnection ("localhost" , str (bridge_globals .pharoPort ))
149
149
conn .request ("POST" , "/notifyObserver" , json .dumps (data ), {
150
150
"Content-type" : "application/json" ,
151
151
"Accept" : "text/plain" })
152
152
conn .getresponse ()
153
- pharo_hooks_globals .logger .log ("PYTHON: Finish notify observer" )
153
+ bridge_globals .logger .log ("PYTHON: Finish notify observer" )
154
154
155
155
def notify_error (ex , command ):
156
- pharo_hooks_globals .logger .log ("Error on command: " + str (command .command_id ()))
157
- pharo_hooks_globals .logger .log (str (ex ))
156
+ bridge_globals .logger .log ("Error on command: " + str (command .command_id ()))
157
+ bridge_globals .logger .log (str (ex ))
158
158
data = {}
159
159
data ["errMsg" ] = str (ex )
160
160
data ["id" ] = command .command_id ()
161
- conn = http .client .HTTPConnection ("localhost" , str (pharo_hooks_globals .pharoPort ))
161
+ conn = http .client .HTTPConnection ("localhost" , str (bridge_globals .pharoPort ))
162
162
conn .request ("POST" , "/notifyError" , json .dumps (data ), {
163
163
"Content-type" : "application/json" ,
164
164
"Accept" : "text/plain" })
165
165
response = str (conn .getresponse ().read ().decode ())
166
- pharo_hooks_globals .logger .log (response )
166
+ bridge_globals .logger .log (response )
167
167
return json .loads (response )
168
168
169
- if __name__ == "__main__" :
169
+ def run_bridge () :
170
170
##### FLASK API
171
171
app = Flask (__name__ )
172
172
app .use_reloader = False
@@ -194,22 +194,25 @@ def status_endpoint():
194
194
help = "enable logging" )
195
195
args = vars (ap .parse_args ())
196
196
197
- pharo_hooks_globals .pharoPort = args ["pharo" ]
197
+ bridge_globals .pharoPort = args ["pharo" ]
198
198
if args ["log" ]:
199
199
print ("YES LOG" )
200
- pharo_hooks_globals .logger = Logger ()
200
+ bridge_globals .logger = Logger ()
201
201
else :
202
202
print ("NO LOG" )
203
- pharo_hooks_globals .logger = NoLogger ()
204
- pharo_hooks_globals .pyPort = args ["port" ]
203
+ bridge_globals .logger = NoLogger ()
204
+ bridge_globals .pyPort = args ["port" ]
205
205
globalCommandList = PythonCommandList ()
206
206
env = clean_locals_env ()
207
207
208
- ThreadedFlask (app ,int (pharo_hooks_globals .pyPort ))
208
+ ThreadedFlask (app ,int (bridge_globals .pyPort ))
209
209
210
210
while True :
211
211
command = globalCommandList .consume_command ()
212
- pharo_hooks_globals .logger .log ("PYTHON: Executing command " + command .command_id ())
213
- pharo_hooks_globals .logger .log ("PYTHON: " + command .statements )
212
+ bridge_globals .logger .log ("PYTHON: Executing command " + command .command_id ())
213
+ bridge_globals .logger .log ("PYTHON: " + command .statements )
214
214
command .execute_using_env (env )
215
- pharo_hooks_globals .logger .log ("PYTHON: Finished command execution" )
215
+ bridge_globals .logger .log ("PYTHON: Finished command execution" )
216
+
217
+ if __name__ == "__main__" :
218
+ run_bridge ()
0 commit comments