# HG changeset patch # User Ludovic Chabant # Date 1417726175 28800 # Node ID 8d956bd94ad250af1bcf59eb5449f5ebdf562d17 # Parent fd146f54bdaa7840dabf4806fe10527a916d41c8 Better combine user sources/routes with the default ones. diff -r fd146f54bdaa -r 8d956bd94ad2 piecrust/app.py --- a/piecrust/app.py Mon Dec 01 22:01:43 2014 -0800 +++ b/piecrust/app.py Thu Dec 04 12:49:35 2014 -0800 @@ -261,13 +261,18 @@ 'func': 'pccaturl(category)'}) # If the user defined some additional sources/routes/taxonomies, - # append them to the default ones. + # add them to the default ones. For routes, the order matters, + # though, so we make sure to add the user routes at the front + # of the list so they're evaluated first. if orig_sources: sourcesc.update(orig_sources) + sitec['sources'] = sourcesc if orig_routes: - routesc + orig_routes + routesc = orig_routes + routesc + sitec['routes'] = routesc if orig_taxonomies: taxonomiesc.update(orig_taxonomies) + sitec['taxonomies'] = taxonomiesc # Validate sources/routes. sourcesc = sitec.get('sources') @@ -307,6 +312,7 @@ raise ConfigurationError("All sources in 'site/sources' must be dictionaries.") sc.setdefault('type', 'default') sc.setdefault('fs_endpoint', sn) + sc.setdefault('ignore_missing_dir', False) sc.setdefault('data_endpoint', sn) sc.setdefault('data_type', 'iterator') sc.setdefault('item_name', sn)