diff options
Diffstat (limited to 'sphinx')
| -rw-r--r-- | sphinx/builders/gettext.py | 6 | ||||
| -rw-r--r-- | sphinx/util/osutil.py | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/sphinx/builders/gettext.py b/sphinx/builders/gettext.py index 1552e273..41a5acbc 100644 --- a/sphinx/builders/gettext.py +++ b/sphinx/builders/gettext.py @@ -14,11 +14,9 @@ from codecs import open from datetime import datetime from collections import defaultdict -from docutils import nodes - from sphinx.builders import Builder from sphinx.util.nodes import extract_messages -from sphinx.util.osutil import SEP, copyfile +from sphinx.util.osutil import SEP, safe_relpath from sphinx.util.console import darkgreen POHEADER = ur""" @@ -113,7 +111,7 @@ class MessageCatalogBuilder(I18nBuilder): # generate "#: file1:line1\n#: file2:line2 ..." pofile.write(u"#: %s\n" % "\n#: ".join("%s:%s" % - (path.relpath(source, self.outdir), line) + (safe_relpath(source, self.outdir), line) for source, line, _ in positions)) # generate "# uuid1\n# uuid2\n ..." pofile.write(u"# %s\n" % "\n# ".join(uid for _, _, uid diff --git a/sphinx/util/osutil.py b/sphinx/util/osutil.py index b7a12cda..b07fa6ab 100644 --- a/sphinx/util/osutil.py +++ b/sphinx/util/osutil.py @@ -133,3 +133,10 @@ if sys.version_info < (3, 0): .decode('utf-8') else: ustrftime = time.strftime + + +def safe_relpath(path, start=None): + try: + return os.path.relpath(path, start) + except ValueError: + return path |
