diff options
author | Takayuki Shimizukawa <shimizukawa@gmail.com> | 2012-05-01 15:13:06 +0900 |
---|---|---|
committer | Takayuki Shimizukawa <shimizukawa@gmail.com> | 2012-05-01 15:13:06 +0900 |
commit | 1bb4923da1aa1878af44c4608d63025e4fae9d3b (patch) | |
tree | 555db29968bd2f149c3d04ddd90aba0fc7705fdb /sphinx/cmdline.py | |
parent | 9af2094ca44265c892d59792156db4950475b18b (diff) | |
download | sphinx-git-1bb4923da1aa1878af44c4608d63025e4fae9d3b.tar.gz |
support multibyte filename handling.
https://bitbucket.org/birkenfeld/sphinx/issue/703
Diffstat (limited to 'sphinx/cmdline.py')
-rw-r--r-- | sphinx/cmdline.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/sphinx/cmdline.py b/sphinx/cmdline.py index 9fc213716..e9d707656 100644 --- a/sphinx/cmdline.py +++ b/sphinx/cmdline.py @@ -22,9 +22,17 @@ from sphinx.errors import SphinxError from sphinx.application import Sphinx from sphinx.util import Tee, format_exception_cut_frames, save_traceback from sphinx.util.console import red, nocolor, color_terminal +from sphinx.util.osutil import fs_encoding from sphinx.util.pycompat import terminal_safe, bytes +def abspath(pathdir): + pathdir = path.abspath(pathdir) + if isinstance(pathdir, bytes): + pathdir = pathdir.decode(fs_encoding) + return pathdir + + def usage(argv, msg=None): if msg: print >>sys.stderr, msg @@ -65,7 +73,7 @@ def main(argv): try: opts, args = getopt.getopt(argv[1:], 'ab:t:d:c:CD:A:ng:NEqQWw:P') allopts = set(opt[0] for opt in opts) - srcdir = confdir = path.abspath(args[0]) + srcdir = confdir = abspath(args[0]) if not path.isdir(srcdir): print >>sys.stderr, 'Error: Cannot find source directory `%s\'.' % ( srcdir,) @@ -75,7 +83,7 @@ def main(argv): print >>sys.stderr, ('Error: Source directory doesn\'t ' 'contain conf.py file.') return 1 - outdir = path.abspath(args[1]) + outdir = abspath(args[1]) if not path.isdir(outdir): print >>sys.stderr, 'Making output directory...' os.makedirs(outdir) @@ -119,9 +127,9 @@ def main(argv): elif opt == '-t': tags.append(val) elif opt == '-d': - doctreedir = path.abspath(val) + doctreedir = abspath(val) elif opt == '-c': - confdir = path.abspath(val) + confdir = abspath(val) if not path.isfile(path.join(confdir, 'conf.py')): print >>sys.stderr, ('Error: Configuration directory ' 'doesn\'t contain conf.py file.') |