Fix #530: FILES_TO_COPY error when dest dir missing

If the destination directory specified by FILES_TO_COPY does not
exist, site generation crashes with a CRITICAL error. This creates the
destination if it does not exist.
This commit is contained in:
Brian St. Pierre 2012-10-01 20:32:18 -04:00
commit 01293dedaa

View file

@ -90,6 +90,12 @@ def copy(path, source, destination, destination_path=None, overwrite=False):
logger.info('replacement of %s with %s' % (source_, destination_))
elif os.path.isfile(source_):
try:
dest_dir = os.path.dirname(destination_)
if not os.path.exists(dest_dir):
os.makedirs(dest_dir)
except OSError, e:
logger.error("copying: %s -> %s: %r" % (source_, dest_dir, e))
shutil.copy(source_, destination_)
logger.info('copying %s to %s' % (source_, destination_))