diff piecrust/baking/baker.py @ 371:c2ca72fb7f0b 2.0.0a8

caching: Use separate caches for config variants and other contexts. * The `_cache` directory is now organized in multiple "sub-caches" for different contexts. * A new context is created when config variants or overrides are applied. * `serve` context uses a different context that the other commends, to prevent the `bake` command's output from messing up the preview server (e.g. with how asset URLs are generated differently between the two). * Fix a few places where the cache directory was referenced directly.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 03 May 2015 23:59:46 -0700
parents 4b1019bb2533
children e7b865f8f335
line wrap: on
line diff
--- a/piecrust/baking/baker.py	Sun May 03 23:45:32 2015 -0700
+++ b/piecrust/baking/baker.py	Sun May 03 23:59:46 2015 -0700
@@ -1,6 +1,5 @@
 import time
 import os.path
-import shutil
 import hashlib
 import logging
 import threading
@@ -10,7 +9,6 @@
 from piecrust.baking.single import (BakingError, PageBaker)
 from piecrust.chefutil import format_timed, log_friendly_exception
 from piecrust.sources.base import (
-        PageFactory,
         REALM_NAMES, REALM_USER, REALM_THEME)
 
 
@@ -141,12 +139,7 @@
 
         if reason is not None:
             # We have to bake everything from scratch.
-            for cache_name in self.app.cache.getCacheNames(
-                    except_names=['app']):
-                cache_dir = self.app.cache.getCacheDir(cache_name)
-                if os.path.isdir(cache_dir):
-                    logger.debug("Cleaning baker cache: %s" % cache_dir)
-                    shutil.rmtree(cache_dir)
+            self.app.cache.clearCaches(except_names=['app'])
             self.force = True
             record.incremental_count = 0
             record.clearPrevious()