Mercurial > wikked
changeset 392:e551a6918907
runserver: Fix auto-reloading, use 'dirtying' update by default.
* Auto-reloading pages from disk is enabled again for the local server.
* All servers (local and WSGI) now dirty all pages upon edit.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 14 Oct 2015 22:06:17 -0700 |
parents | 2156d47b577f |
children | 3219f8dd7868 |
files | wikked/commands/web.py wikked/web.py wikked/webimpl/__init__.py |
diffstat | 3 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/wikked/commands/web.py Wed Oct 14 20:55:58 2015 -0700 +++ b/wikked/commands/web.py Wed Oct 14 22:06:17 2015 -0700 @@ -8,10 +8,6 @@ logger = logging.getLogger(__name__) -def autoreload_wiki_updater(wiki, url): - wiki.db.uncachePages(except_url=url, only_required=True) - - @register_command class RunServerCommand(WikkedCommand): def __init__(self): @@ -87,7 +83,6 @@ wikked.settings.WIKI_DEV_ASSETS = True if not ctx.args.no_update: wikked.settings.WIKI_AUTO_RELOAD = True - ctx.params.wiki_updater = autoreload_wiki_updater # Create/import the app. from wikked.web import app
--- a/wikked/web.py Wed Oct 14 20:55:58 2015 -0700 +++ b/wikked/web.py Wed Oct 14 22:06:17 2015 -0700 @@ -111,6 +111,13 @@ app.wiki_params = WikiParameters(wiki_root) +# Just uncache pages when the user has edited one. +def autoreload_wiki_updater(wiki, url): + wiki.db.uncachePages(except_url=url, only_required=True) + +app.wiki_params.wiki_updater = autoreload_wiki_updater + + # Login extension. def user_loader(username): wiki = get_wiki()
--- a/wikked/webimpl/__init__.py Wed Oct 14 20:55:58 2015 -0700 +++ b/wikked/webimpl/__init__.py Wed Oct 14 22:06:17 2015 -0700 @@ -4,6 +4,7 @@ import urllib.parse from wikked.utils import ( get_absolute_url, PageNotFoundError, split_page_url, is_endpoint_url) +from wikked.web import app logger = logging.getLogger(__name__) @@ -46,8 +47,9 @@ def get_page_or_raise(wiki, url, fields=None, - check_perms=None, auto_reload=False): - if auto_reload and fields is not None: + check_perms=None): + auto_reload = app.config.get('WIKI_AUTO_RELOAD', False) + if auto_reload is True and fields is not None: if 'path' not in fields: fields.append('path') if 'cache_time' not in fields: