| Index: cms/utils.py |
| diff --git a/cms/utils.py b/cms/utils.py |
| index 52bcef5008158a00050440cc32df28fc5d7a2981..e654ccbe4ec7e692d17d5509beccd3c29c74cbad 100644 |
| --- a/cms/utils.py |
| +++ b/cms/utils.py |
| @@ -17,7 +17,15 @@ |
| from .converters import converters, TemplateConverter |
| -def process_page(source, locale, page, format, site_url_override=None): |
| +def get_page_params(source, locale, page, format=None, site_url_override=None): |
| + # Guess page format if omitted, but default to Markdown for friendlier exceptions |
| + if format is None: |
| + for format in converters.keys(): |
|
Sebastian Noack
2015/04/08 09:09:32
Nit: This creates a new list with all the keys in
kzar
2015/04/08 09:32:11
Done.
|
| + if source.has_page(page, format): |
| + break |
| + else: |
| + format = "md" |
| + |
| params = { |
| "source": source, |
| "template": "default", |
| @@ -46,7 +54,6 @@ def process_page(source, locale, page, format, site_url_override=None): |
| # Note: The converter might change some parameters so we can only read in |
| # template data here. |
| params["templatedata"] = source.read_template(params["template"]) |
| - template_converter = TemplateConverter(params, key="templatedata") |
| defaultlocale = params["config"].get("general", "defaultlocale") |
| params["defaultlocale"] = defaultlocale |
| @@ -62,4 +69,10 @@ def process_page(source, locale, page, format, site_url_override=None): |
| params["available_locales"] = locales |
| params["head"], params["body"] = converter() |
| - return template_converter() |
| + return params |
| + |
| +def process_page(source, locale, page, format, site_url_override=None): |
| + return TemplateConverter( |
| + get_page_params(source, locale, page, format, site_url_override), |
| + key="templatedata" |
| + )() |