Bug 8563 - compileall.compile_file() creates empty __pycache__ directories in

data directories where there is no source.

Fix by: Arfrever Frehtes Taifersar Arahesis (Arfrever)
Test by: Barry
This commit is contained in:
Barry Warsaw 2010-04-29 18:43:10 +00:00
parent d5334e1fa3
commit c8a99de751
2 changed files with 19 additions and 5 deletions

View file

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