mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge branch '1.8'
This commit is contained in:
commit
7fea402a98
1
CHANGES
1
CHANGES
@ -209,6 +209,7 @@ Bugs fixed
|
||||
* #5755: C++, fix duplicate declaration error on function templates with constraints
|
||||
in the return type.
|
||||
* C++, parse unary right fold expressions and binary fold expressions.
|
||||
* pycode could not handle egg files on windows
|
||||
* #5928: KeyError: 'DOCUTILSCONFIG' when running build
|
||||
|
||||
Testing
|
||||
|
@ -10,6 +10,7 @@
|
||||
|
||||
import re
|
||||
from io import StringIO
|
||||
from os import path
|
||||
from zipfile import ZipFile
|
||||
|
||||
from sphinx.errors import PycodeError
|
||||
@ -40,7 +41,7 @@ class ModuleAnalyzer:
|
||||
obj = cls(f, modname, filename)
|
||||
cls.cache['file', filename] = obj
|
||||
except Exception as err:
|
||||
if '.egg/' in filename:
|
||||
if '.egg' + path.sep in filename:
|
||||
obj = cls.cache['file', filename] = cls.for_egg(filename, modname)
|
||||
else:
|
||||
raise PycodeError('error opening %r' % filename, err)
|
||||
@ -48,8 +49,14 @@ class ModuleAnalyzer:
|
||||
|
||||
@classmethod
|
||||
def for_egg(cls, filename, modname):
|
||||
<<<<<<< HEAD
|
||||
# type: (str, str) -> ModuleAnalyzer
|
||||
eggpath, relpath = re.split('(?<=\\.egg)/', filename)
|
||||
=======
|
||||
# type: (unicode, unicode) -> ModuleAnalyzer
|
||||
SEP = re.escape(path.sep)
|
||||
eggpath, relpath = re.split('(?<=\\.egg)' + SEP, filename)
|
||||
>>>>>>> 1.8
|
||||
try:
|
||||
with ZipFile(eggpath) as egg:
|
||||
code = egg.read(relpath).decode()
|
||||
|
Loading…
Reference in New Issue
Block a user