110110
111111import sys , os , shutil , io , re , textwrap
112112from os .path import relpath
113+ from errno import EEXIST
113114import traceback
114115
115116from docutils .parsers .rst import directives
116117from docutils .parsers .rst .directives .images import Image
117118
118- from nipype .utils .filemanip import mkdirp
119-
120119
121120try :
122121 # Sphinx depends on either Jinja or Jinja2
@@ -134,6 +133,22 @@ def format_template(template, **kw):
134133PY2 = sys .version_info [0 ] == 2
135134PY3 = sys .version_info [0 ] == 3
136135
136+ def _mkdirp (folder ):
137+ """
138+ Equivalent to bash's mkdir -p
139+ """
140+ if sys .version_info > (3 , 4 , 1 ):
141+ os .makedirs (folder , exist_ok = True )
142+ return folder
143+
144+ try :
145+ os .makedirs (folder )
146+ except OSError as exc :
147+ if exc .errno != EEXIST or not os .path .isdir (folder ):
148+ raise
149+
150+ return folder
151+
137152
138153def wf_directive (name , arguments , options , content , lineno ,
139154 content_offset , block_text , state , state_machine ):
@@ -685,7 +700,7 @@ def run(arguments, content, options, state_machine, state, lineno):
685700 state_machine .insert_input (total_lines , source = source_file_name )
686701
687702 # copy image files to builder's output directory, if necessary
688- mkdirp (dest_dir )
703+ _mkdirp (dest_dir )
689704 for code_piece , images in results :
690705 for img in images :
691706 for fn in img .filenames ():
0 commit comments