changeset 146:0b284cb64bb3

Default to synchronous wiki updates. Use config-file interpolation to refer to the site root.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 11 Dec 2013 17:51:04 -0800
parents 74690402fef2
children d7890b46358e
files wikked/db/sql.py wikked/views.py wikked/web.py wikked/wiki.py
diffstat 4 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/wikked/db/sql.py	Wed Dec 11 17:45:52 2013 -0800
+++ b/wikked/db/sql.py	Wed Dec 11 17:51:04 2013 -0800
@@ -123,8 +123,7 @@
     def initDb(self, wiki):
         self.wiki = wiki
 
-        url_params = {'root': wiki.root}
-        engine_url = wiki.config.get('wiki', 'database_url') % url_params
+        engine_url = wiki.config.get('wiki', 'database_url')
         logger.info("Using database from URL: %s" % engine_url)
         self.engine = create_engine(engine_url, convert_unicode=True)
         self.session = scoped_session(sessionmaker(
--- a/wikked/views.py	Wed Dec 11 17:45:52 2013 -0800
+++ b/wikked/views.py	Wed Dec 11 17:51:04 2013 -0800
@@ -211,8 +211,11 @@
             'author': author,
             'message': message
             }
-    g.wiki.setPage(url, page_fields, do_update=False)
-    update_wiki.delay(g.wiki.root)
+    do_sync_update = app.config['SYNCHRONOUS_UPDATE']
+    g.wiki.setPage(url, page_fields, do_update=do_sync_update)
+    if not do_sync_update:
+        update_wiki.delay(g.wiki.root)
+
     result = {'saved': 1}
     return make_auth_response(result)
 
--- a/wikked/web.py	Wed Dec 11 17:45:52 2013 -0800
+++ b/wikked/web.py	Wed Dec 11 17:51:04 2013 -0800
@@ -19,6 +19,7 @@
 app.config.setdefault('SQL_COMMIT_ON_TEARDOWN', False)
 app.config.setdefault('WIKI_ROOT', None)
 app.config.setdefault('UPDATE_WIKI_ON_START', True)
+app.config.setdefault('SYNCHRONOUS_UPDATE', True)
 
 
 # Find the wiki root, and further configure the app if there's a
--- a/wikked/wiki.py	Wed Dec 11 17:45:52 2013 -0800
+++ b/wikked/wiki.py	Wed Dec 11 17:51:04 2013 -0800
@@ -248,7 +248,6 @@
 
     def getSpecialFilenames(self):
         yield os.path.join(self.root, '.wikirc')
-        yield os.path.join(self.root, '.wikirc.local')
         yield os.path.join(self.root, '.wiki')
 
     def _cachePages(self, only_urls=None):
@@ -265,12 +264,13 @@
         # Merge the default settings with any settings provided by
         # the parameters.
         config_path = os.path.join(parameters.root, '.wikirc')
-        local_config_path = config_path + '.local'
+        local_config_path = os.path.join(parameters.root, '.wiki', 'wikirc')
         default_config_path = os.path.join(
             os.path.dirname(__file__), 'resources', 'defaults.cfg')
 
         config = SafeConfigParser()
         config.readfp(open(default_config_path))
+        config.set('wiki', 'root', parameters.root)
         config.read([config_path, local_config_path])
         return config