Fix shutil.copyfileobj monkey patching

This commit is contained in:
Labrys of Knossos 2019-01-05 17:02:03 -05:00
commit 5c644890e8
2 changed files with 13 additions and 9 deletions

View file

@ -19,6 +19,7 @@ import subliminal
import core
from core import extractor, logger
from core.utils.download_info import get_download_info, update_download_info_status
from core.utils import shutil_custom
from core.utils.network import test_connection, wake_on_lan, wake_up
from core.utils.parsers import (
parse_args,
@ -47,15 +48,7 @@ except ImportError:
requests.packages.urllib3.disable_warnings()
# Monkey Patch shutil.copyfileobj() to adjust the buffer length to 512KB rather than 4KB
shutil.copyfileobjOrig = shutil.copyfileobj
def copyfileobj_fast(fsrc, fdst, length=512 * 1024):
shutil.copyfileobjOrig(fsrc, fdst, length=length)
shutil.copyfileobj = copyfileobj_fast
shutil_custom.monkey_patch()
def sanitize_name(name):

View file

@ -0,0 +1,11 @@
from functools import partial
import shutil
from six import PY2
def monkey_patch(length=512 * 1024):
if PY2:
# On Python 2 monkey patch shutil.copyfileobj()
# to adjust the buffer length to 512KB rather than 4KB
original_copyfileobj = shutil.copyfileobj
shutil.copyfileobj = partial(original_copyfileobj, length=length)