22code to initialize the remote side of a gateway once the io is created
33"""
44import inspect
5+ import json
56import os
67
78import execnet
@@ -23,13 +24,13 @@ def bootstrap_import(io, spec):
2324 sendexec (
2425 io ,
2526 "import sys" ,
26- "if %r not in sys.path:" % importdir ,
27- " sys.path.insert(0, %r)" % importdir ,
27+ f "if { importdir !r } not in sys.path:" ,
28+ f " sys.path.insert(0, { importdir !r } )" ,
2829 "from execnet.gateway_base import serve, init_popen_io, get_execmodel" ,
2930 "sys.stdout.write('1')" ,
3031 "sys.stdout.flush()" ,
31- "execmodel = get_execmodel(%r)" % spec .execmodel ,
32- "serve(init_popen_io(execmodel), id='%s -worker')" % spec . id ,
32+ f "execmodel = get_execmodel({ spec .execmodel !r } )" ,
33+ f "serve(init_popen_io(execmodel), id='{ spec . id } -worker')" ,
3334 )
3435 s = io .read (1 )
3536 assert s == b"1" , repr (s )
@@ -75,7 +76,8 @@ def bootstrap_socket(io, id):
7576
7677def sendexec (io , * sources ):
7778 source = "\n " .join (sources )
78- io .write ((repr (source ) + "\n " ).encode ("utf-8" ))
79+ encoded = (json .dumps (source ) + "\n " ).encode ("utf-8" )
80+ io .write (encoded )
7981
8082
8183def bootstrap (io , spec ):
0 commit comments