# HG changeset patch # User Ludovic Chabant # Date 1444885577 25200 # Node ID e551a6918907e568d83bf318176b0dd517281560 # Parent 2156d47b577f31ff98de976400149d2d405c2eb2 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. diff -r 2156d47b577f -r e551a6918907 wikked/commands/web.py --- 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 diff -r 2156d47b577f -r e551a6918907 wikked/web.py --- 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() diff -r 2156d47b577f -r e551a6918907 wikked/webimpl/__init__.py --- 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: