2222from sphinx .application import Sphinx
2323from sphinx .util import Tee , format_exception_cut_frames , save_traceback
2424from sphinx .util .console import red , nocolor , color_terminal
25+ from sphinx .util .osutil import fs_encoding
2526from sphinx .util .pycompat import terminal_safe , bytes
2627
2728
29+ def abspath (pathdir ):
30+ pathdir = path .abspath (pathdir )
31+ if isinstance (pathdir , bytes ):
32+ pathdir = pathdir .decode (fs_encoding )
33+ return pathdir
34+
35+
2836def usage (argv , msg = None ):
2937 if msg :
3038 print >> sys .stderr , msg
@@ -65,7 +73,7 @@ def main(argv):
6573 try :
6674 opts , args = getopt .getopt (argv [1 :], 'ab:t:d:c:CD:A:ng:NEqQWw:P' )
6775 allopts = set (opt [0 ] for opt in opts )
68- srcdir = confdir = path . abspath (args [0 ])
76+ srcdir = confdir = abspath (args [0 ])
6977 if not path .isdir (srcdir ):
7078 print >> sys .stderr , 'Error: Cannot find source directory `%s\' .' % (
7179 srcdir ,)
@@ -75,7 +83,7 @@ def main(argv):
7583 print >> sys .stderr , ('Error: Source directory doesn\' t '
7684 'contain conf.py file.' )
7785 return 1
78- outdir = path . abspath (args [1 ])
86+ outdir = abspath (args [1 ])
7987 if not path .isdir (outdir ):
8088 print >> sys .stderr , 'Making output directory...'
8189 os .makedirs (outdir )
@@ -119,9 +127,9 @@ def main(argv):
119127 elif opt == '-t' :
120128 tags .append (val )
121129 elif opt == '-d' :
122- doctreedir = path . abspath (val )
130+ doctreedir = abspath (val )
123131 elif opt == '-c' :
124- confdir = path . abspath (val )
132+ confdir = abspath (val )
125133 if not path .isfile (path .join (confdir , 'conf.py' )):
126134 print >> sys .stderr , ('Error: Configuration directory '
127135 'doesn\' t contain conf.py file.' )
0 commit comments