Skip to content

Commit 556b6a3

Browse files
state
1 parent a4b101e commit 556b6a3

File tree

8 files changed

+16
-26
lines changed

8 files changed

+16
-26
lines changed

.pre-commit-config.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
repos:
32
- repo: https://github.com/codespell-project/codespell
43
rev: v2.2.2
@@ -23,12 +22,12 @@ repos:
2322
rev: v3.3.1
2423
hooks:
2524
- id: pyupgrade
26-
args: [--py37-plus]
25+
args: [--py38-plus]
2726
- repo: https://github.com/asottile/reorder_python_imports
2827
rev: v3.9.0
2928
hooks:
3029
- id: reorder-python-imports
31-
args: ['--application-directories=execnet', --py37-plus, "--remove-import=import py"]
30+
args: ['--application-directories=execnet', --py38-plus, "--remove-import=import py"]
3231
- repo: https://github.com/PyCQA/doc8
3332
rev: 'v1.1.1'
3433
hooks:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,5 +93,5 @@ sources = ["src"]
9393

9494

9595
[tool.mypy]
96-
python_version = "3.7"
96+
python_version = "3.8"
9797
mypy_path = "$MYPY_CONFIG_FILE_DIR/src"

src/execnet/gateway_base.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,10 @@
1818
import sys
1919
import traceback
2020
import weakref
21+
from _thread import interrupt_main
2122
from io import BytesIO
2223
from typing import Callable
23-
from typing import IO
24-
25-
26-
def reraise(cls, val, tb):
27-
raise val.with_traceback(tb)
28-
29-
30-
unicode = str
31-
_long_type = int
32-
from _thread import interrupt_main
3324

34-
SUBPROCESS32 = False
3525
# f = open("/tmp/execnet-%s" % os.getpid(), "w")
3626
# def log_extra(*msg):
3727
# f.write(" ".join([str(x) for x in msg]) + "\n")
@@ -46,9 +36,8 @@ def get_execmodel(backend):
4636
return backend
4737
if backend == "thread":
4838
importdef = {
49-
"get_ident": ["thread::get_ident", "_thread::get_ident"],
39+
"get_ident": ["_thread::get_ident"],
5040
"_start_new_thread": [
51-
"thread::start_new_thread",
5241
"_thread::start_new_thread",
5342
],
5443
"threading": ["threading"],

src/execnet/gateway_bootstrap.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
code to initialize the remote side of a gateway once the io is created
33
"""
44
import inspect
5+
import json
56
import os
67

78
import 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

7677
def sendexec(io, *sources):
7778
source = "\n".join(sources)
78-
io.write((repr(source) + "\n").encode("ascii"))
79+
encoded = (json.dumps(source) + "\n").encode("ascii")
80+
io.write(encoded)
7981

8082

8183
def fix_pid_for_jython_popen(gw):

src/execnet/gateway_io.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def killpopen(popen):
3838
sys.stderr.flush()
3939

4040

41-
popen_bootstrapline = "import sys;exec(eval(sys.stdin.readline()))"
41+
popen_bootstrapline = "import sys;import json;exec(json.loads(sys.stdin.readline()))"
4242

4343

4444
def shell_split_path(path):

src/execnet/multi.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
from . import gateway_io
1515
from .gateway_base import Channel
1616
from .gateway_base import get_execmodel
17-
from .gateway_base import reraise
1817
from .gateway_base import trace
1918
from .xspec import XSpec
2019

testing/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def pytest_generate_tests(metafunc):
109109
metafunc.parametrize("gw", gwtypes, indirect=True)
110110

111111

112-
@lru_cache()
112+
@lru_cache
113113
def getexecutable(name):
114114
if name == "sys.executable":
115115
return sys.executable

testing/test_basics.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from __future__ import annotations
22

33
import inspect
4+
import json
45
import os
56
import subprocess
67
import sys
@@ -86,7 +87,7 @@ def receive():
8687

8788
try:
8889
source = f"{inspect.getsource(read_write_loop)}\n\nread_write_loop()"
89-
repr_source = repr(str(source)) + "\n"
90+
repr_source = json.dumps(source) + "\n"
9091
sendline = repr_source
9192
send(sendline)
9293
s = receive()

0 commit comments

Comments
 (0)