Closes #641: use Sphinx version in cache pickle filename.

This commit is contained in:
Georg Brandl 2014-01-10 21:07:51 +01:00
parent 7a26dd0730
commit 4c91a7a1d2

View File

@ -18,7 +18,8 @@ __all__ = ["Driver", "load_grammar"]
# Python imports # Python imports
import os import os
import logging import logging
import sys
import sphinx
# Pgen imports # Pgen imports
from sphinx.pycode.pgen2 import grammar, parse, token, tokenize, pgen from sphinx.pycode.pgen2 import grammar, parse, token, tokenize, pgen
@ -120,7 +121,8 @@ def load_grammar(gt="Grammar.txt", gp=None,
head, tail = os.path.splitext(gt) head, tail = os.path.splitext(gt)
if tail == ".txt": if tail == ".txt":
tail = "" tail = ""
gp = head + tail + ".".join(map(str, sys.version_info[:2])) + ".pickle" # embed Sphinx major version for the case we ever change the grammar...
gp = head + tail + ".".join(map(str, sphinx.version_info[:2])) + ".pickle"
if force or not _newer(gp, gt): if force or not _newer(gp, gt):
logger.info("Generating grammar tables from %s", gt) logger.info("Generating grammar tables from %s", gt)
g = pgen.generate_grammar(gt) g = pgen.generate_grammar(gt)