Monkey-patch Requests < 2.6.1 to prevent crash on 2.77a/Mac
This commit is contained in:
parent
ef70d20a77
commit
d457c77b19
@ -32,6 +32,8 @@ bl_info = {
|
|||||||
'support': 'OFFICIAL'
|
'support': 'OFFICIAL'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
import logging
|
||||||
|
|
||||||
# Support reloading
|
# Support reloading
|
||||||
if 'pillar' in locals():
|
if 'pillar' in locals():
|
||||||
import importlib
|
import importlib
|
||||||
@ -43,16 +45,21 @@ if 'pillar' in locals():
|
|||||||
cache = importlib.reload(cache)
|
cache = importlib.reload(cache)
|
||||||
else:
|
else:
|
||||||
from . import wheels
|
from . import wheels
|
||||||
|
|
||||||
wheels.load_wheels()
|
wheels.load_wheels()
|
||||||
|
|
||||||
from . import pillar, cache
|
from . import pillar, cache
|
||||||
|
|
||||||
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def register():
|
def register():
|
||||||
"""Late-loads and registers the Blender-dependent submodules."""
|
"""Late-loads and registers the Blender-dependent submodules."""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
_monkey_patch_requests()
|
||||||
|
|
||||||
# Support reloading
|
# Support reloading
|
||||||
if '%s.blender' % __name__ in sys.modules:
|
if '%s.blender' % __name__ in sys.modules:
|
||||||
import importlib
|
import importlib
|
||||||
@ -79,6 +86,23 @@ def register():
|
|||||||
settings_sync.register()
|
settings_sync.register()
|
||||||
|
|
||||||
|
|
||||||
|
def _monkey_patch_requests():
|
||||||
|
"""Monkey-patch old versions of Requests.
|
||||||
|
|
||||||
|
This is required for the Mac version of Blender 2.77a.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import requests
|
||||||
|
|
||||||
|
if requests.__build__ >= 0x020601:
|
||||||
|
return
|
||||||
|
|
||||||
|
log.info('Monkey-patching requests version %s', requests.__version__)
|
||||||
|
from requests.packages.urllib3.response import HTTPResponse
|
||||||
|
HTTPResponse.chunked = False
|
||||||
|
HTTPResponse.chunk_left = None
|
||||||
|
|
||||||
|
|
||||||
def unregister():
|
def unregister():
|
||||||
from . import blender, gui, async_loop, settings_sync
|
from . import blender, gui, async_loop, settings_sync
|
||||||
|
|
||||||
@ -86,4 +110,3 @@ def unregister():
|
|||||||
blender.unregister()
|
blender.unregister()
|
||||||
async_loop.unregister()
|
async_loop.unregister()
|
||||||
settings_sync.unregister()
|
settings_sync.unregister()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user