summaryrefslogtreecommitdiff
path: root/sphinx/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/project.py')
-rw-r--r--sphinx/project.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/sphinx/project.py b/sphinx/project.py
index d63af1fcb..f4afdadad 100644
--- a/sphinx/project.py
+++ b/sphinx/project.py
@@ -9,6 +9,7 @@
"""
import os
+from glob import glob
from sphinx.locale import __
from sphinx.util import get_matching_files
@@ -55,7 +56,13 @@ class Project:
for filename in get_matching_files(self.srcdir, excludes): # type: ignore
docname = self.path2doc(filename)
if docname:
- if os.access(os.path.join(self.srcdir, filename), os.R_OK):
+ if docname in self.docnames:
+ pattern = os.path.join(self.srcdir, docname) + '.*'
+ files = [relpath(f, self.srcdir) for f in glob(pattern)]
+ logger.warning(__('multiple files found for the document "%s": %r\n'
+ 'Use %r for the build.'),
+ docname, files, self.doc2path(docname), once=True)
+ elif os.access(os.path.join(self.srcdir, filename), os.R_OK):
self.docnames.add(docname)
else:
logger.warning(__("document not readable. Ignored."), location=docname)