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
|
||||
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):
|
||||
try:
|
||||
idx = args.index('-c')
|
||||
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:]
|
||||
return orig_spawn_passfds(patched_args[0], patched_args, passfds)
|
||||
return wrapped_orig_spawn_fds(patched_args, passfds)
|
||||
util.spawnv_passfds = spawnv_passfds
|
||||
|
||||
#
|
||||
|
Loading…
x
Reference in New Issue
Block a user