mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
spawnv_passfds expects byte args in python 3.11
This commit is contained in:
parent
f45bda394b
commit
b7fd0dde65
@ -105,13 +105,18 @@ def initialize_calibre():
|
|||||||
spawn.get_command_line = get_command_line
|
spawn.get_command_line = get_command_line
|
||||||
orig_spawn_passfds = util.spawnv_passfds
|
orig_spawn_passfds = util.spawnv_passfds
|
||||||
|
|
||||||
|
def wrapped_orig_spawn_fds(args, passfds):
|
||||||
|
# as of python 3.11 util.spawnv_passfds expects bytes args
|
||||||
|
args = [x.encode('utf-8') if isinstance(x, str) else x for x in args]
|
||||||
|
return orig_spawn_passfds(args[0], args, passfds)
|
||||||
|
|
||||||
def spawnv_passfds(path, args, passfds):
|
def spawnv_passfds(path, args, passfds):
|
||||||
try:
|
try:
|
||||||
idx = args.index('-c')
|
idx = args.index('-c')
|
||||||
except ValueError:
|
except ValueError:
|
||||||
return orig_spawn_passfds(args[0], args, passfds)
|
return wrapped_orig_spawn_fds(args, passfds)
|
||||||
patched_args = get_debug_executable() + ['--fix-multiprocessing', '--'] + args[idx + 1:]
|
patched_args = get_debug_executable() + ['--fix-multiprocessing', '--'] + args[idx + 1:]
|
||||||
return orig_spawn_passfds(patched_args[0], patched_args, passfds)
|
return wrapped_orig_spawn_fds(patched_args, passfds)
|
||||||
util.spawnv_passfds = spawnv_passfds
|
util.spawnv_passfds = spawnv_passfds
|
||||||
|
|
||||||
#
|
#
|
||||||
|
Loading…
x
Reference in New Issue
Block a user