summaryrefslogtreecommitdiff
path: root/sphinx/cmdline.py
diff options
context:
space:
mode:
authorTakayuki Shimizukawa <shimizukawa@gmail.com>2012-05-01 15:13:06 +0900
committerTakayuki Shimizukawa <shimizukawa@gmail.com>2012-05-01 15:13:06 +0900
commit1bb4923da1aa1878af44c4608d63025e4fae9d3b (patch)
tree555db29968bd2f149c3d04ddd90aba0fc7705fdb /sphinx/cmdline.py
parent9af2094ca44265c892d59792156db4950475b18b (diff)
downloadsphinx-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.py16
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.')