Create __pycache__ dir when the pyc path is explicitly given

Patch from Arfrever Frehtes Taifersar Arahesis.
This commit is contained in:
Benjamin Peterson 2010-05-08 19:52:21 +00:00
parent e5da82ff4c
commit 25216baf32
2 changed files with 5 additions and 11 deletions

View File

@ -93,12 +93,6 @@ def compile_file(fullname, ddir=None, force=0, rx=None, quiet=False,
cache_dir = os.path.dirname(cfile) cache_dir = os.path.dirname(cfile)
head, tail = name[:-3], name[-3:] head, tail = name[:-3], name[-3:]
if tail == '.py': if tail == '.py':
if not legacy:
try:
os.mkdir(cache_dir)
except OSError as error:
if error.errno != errno.EEXIST:
raise
if not force: if not force:
try: try:
mtime = int(os.stat(fullname).st_mtime) mtime = int(os.stat(fullname).st_mtime)

View File

@ -123,11 +123,11 @@ def compile(file, cfile=None, dfile=None, doraise=False):
return return
if cfile is None: if cfile is None:
cfile = imp.cache_from_source(file) cfile = imp.cache_from_source(file)
try: try:
os.mkdir(os.path.dirname(cfile)) os.makedirs(os.path.dirname(cfile))
except OSError as error: except OSError as error:
if error.errno != errno.EEXIST: if error.errno != errno.EEXIST:
raise raise
with open(cfile, 'wb') as fc: with open(cfile, 'wb') as fc:
fc.write(b'\0\0\0\0') fc.write(b'\0\0\0\0')
wr_long(fc, timestamp) wr_long(fc, timestamp)