summaryrefslogtreecommitdiff
path: root/sphinx/builders/__init__.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2018-05-10 01:25:22 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2018-05-11 02:28:01 +0900
commitd6db20781a2b1a580a4014e82e232ca2ec387761 (patch)
tree2438675ac43c48879e0bb7fd2adb8626e1867011 /sphinx/builders/__init__.py
parent48a194159149c23618e51960e22f19d2883c27ef (diff)
downloadsphinx-git-d6db20781a2b1a580a4014e82e232ca2ec387761.tar.gz
Deprecate methods for pickling/unpickling on BuildEnvironment
Diffstat (limited to 'sphinx/builders/__init__.py')
-rw-r--r--sphinx/builders/__init__.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/sphinx/builders/__init__.py b/sphinx/builders/__init__.py
index 841489704..b44139a55 100644
--- a/sphinx/builders/__init__.py
+++ b/sphinx/builders/__init__.py
@@ -17,7 +17,6 @@ from docutils import nodes
from six.moves import cPickle as pickle
from sphinx.deprecation import RemovedInSphinx20Warning
-from sphinx.environment import BuildEnvironment
from sphinx.environment.adapters.asset import ImageAdapter
from sphinx.errors import SphinxError
from sphinx.io import read_doc
@@ -372,7 +371,8 @@ class Builder(object):
# save the environment
from sphinx.application import ENV_PICKLE_FILENAME
logger.info(bold(__('pickling environment... ')), nonl=True)
- self.env.topickle(path.join(self.doctreedir, ENV_PICKLE_FILENAME))
+ with open(path.join(self.doctreedir, ENV_PICKLE_FILENAME), 'wb') as f:
+ pickle.dump(self.env, f, pickle.HIGHEST_PROTOCOL)
logger.info(__('done'))
# global actions
@@ -492,16 +492,16 @@ class Builder(object):
self.env.clear_doc(docname)
def read_process(docs):
- # type: (List[unicode]) -> unicode
+ # type: (List[unicode]) -> bytes
self.env.app = self.app
for docname in docs:
self.read_doc(docname)
# allow pickling self to send it back
- return BuildEnvironment.dumps(self.env)
+ return pickle.dumps(self.env, pickle.HIGHEST_PROTOCOL)
def merge(docs, otherenv):
- # type: (List[unicode], unicode) -> None
- env = BuildEnvironment.loads(otherenv)
+ # type: (List[unicode], bytes) -> None
+ env = pickle.loads(otherenv)
self.env.merge_info_from(docs, env, self.app)
tasks = ParallelTasks(nproc)