changeset 45:f63a2062fb99

Moved application init to a standalone `web` module.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 12 Jan 2013 22:12:06 -0800
parents db0daa85cd6e
children 0b6ce6837d22
files manage.py wikked/__init__.py wikked/views.py wikked/web.py wikked/wiki.py
diffstat 5 files changed, 45 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
--- a/manage.py	Sat Jan 12 12:06:56 2013 -0800
+++ b/manage.py	Sat Jan 12 22:12:06 2013 -0800
@@ -1,7 +1,7 @@
 import os.path
 import logging
 from flask.ext.script import Manager, Command, prompt, prompt_pass
-from wikked import app, wiki
+from wikked.web import app, wiki
 
 
 manager = Manager(app)
--- a/wikked/__init__.py	Sat Jan 12 12:06:56 2013 -0800
+++ b/wikked/__init__.py	Sat Jan 12 22:12:06 2013 -0800
@@ -1,33 +0,0 @@
-from flask import Flask, abort
-
-# Create the main app.
-app = Flask(__name__)
-app.config.from_object('wikked.settings')
-app.config.from_envvar('WIKKED_SETTINGS', silent=True)
-
-if app.config['DEBUG']:
-    from werkzeug import SharedDataMiddleware
-    import os
-    app.wsgi_app = SharedDataMiddleware(app.wsgi_app, {
-      '/': os.path.join(os.path.dirname(__file__), 'static')
-    })
-
-# The main Wiki instance.
-from wiki import Wiki
-wiki = Wiki(root=app.config.get('WIKI_ROOT'), logger=app.logger)
-wiki.start()
-
-# Import views and user loader.
-import wikked.views
-
-# Login extension.
-from flask.ext.login import LoginManager
-login_manager = LoginManager()
-login_manager.init_app(app)
-login_manager.user_loader(wiki.auth.getUser)
-login_manager.unauthorized_handler(lambda: abort(401))
-
-# Bcrypt extension.
-from flaskext.bcrypt import Bcrypt
-app.bcrypt = Bcrypt(app)
-
--- a/wikked/views.py	Sat Jan 12 12:06:56 2013 -0800
+++ b/wikked/views.py	Sat Jan 12 22:12:06 2013 -0800
@@ -9,8 +9,8 @@
 from pygments import highlight
 from pygments.lexers import get_lexer_by_name
 from pygments.formatters import get_formatter_by_name
-from wikked import app, wiki
-from wikked.wiki import Page
+from web import app, wiki
+from wiki import Page
 from auth import User
 from forms import RegistrationForm, EditPageForm
 from fs import PageNotFoundError
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wikked/web.py	Sat Jan 12 22:12:06 2013 -0800
@@ -0,0 +1,33 @@
+from flask import Flask, abort
+
+# Create the main app.
+app = Flask(__name__)
+app.config.from_object('wikked.settings')
+app.config.from_envvar('WIKKED_SETTINGS', silent=True)
+
+if app.config['DEBUG']:
+    from werkzeug import SharedDataMiddleware
+    import os
+    app.wsgi_app = SharedDataMiddleware(app.wsgi_app, {
+      '/': os.path.join(os.path.dirname(__file__), 'static')
+    })
+
+# The main Wiki instance.
+from wiki import Wiki
+wiki = Wiki(root=app.config.get('WIKI_ROOT'), logger=app.logger)
+wiki.start()
+
+# Import views and user loader.
+import views
+
+# Login extension.
+from flask.ext.login import LoginManager
+login_manager = LoginManager()
+login_manager.init_app(app)
+login_manager.user_loader(wiki.auth.getUser)
+login_manager.unauthorized_handler(lambda: abort(401))
+
+# Bcrypt extension.
+from flaskext.bcrypt import Bcrypt
+app.bcrypt = Bcrypt(app)
+
--- a/wikked/wiki.py	Sat Jan 12 12:06:56 2013 -0800
+++ b/wikked/wiki.py	Sat Jan 12 22:12:06 2013 -0800
@@ -8,6 +8,7 @@
 from ConfigParser import SafeConfigParser
 import markdown
 import textile
+import creole
 from fs import FileSystem
 from cache import Cache
 from scm import MercurialSourceControl
@@ -20,8 +21,6 @@
     pass
 
 
-
-
 class Page(object):
     def __init__(self, wiki, url):
         self.wiki = wiki
@@ -184,6 +183,13 @@
             self.logger = logging.getLogger('wikked.wiki')
         self.logger.debug("Initializing wiki at: " + root)
 
+        self.formatters = {
+                markdown.markdown: [ 'md', 'mdown', 'markdown' ],
+                textile.textile: [ 'tl', 'text', 'textile' ],
+                creole.creole2html: [ 'cr', 'creole' ],
+                self._passthrough: [ 'txt', 'html' ]
+                }
+
         self.config = SafeConfigParser()
         config_path = os.path.join(root, '.wikirc')
         if os.path.isfile(config_path):
@@ -207,6 +213,7 @@
         else:
             self.cache = None
 
+        self.fs.page_extensions = list(set(itertools.chain(*self.formatters.itervalues())))
         self.fs.excluded.append(config_path)
         if self.scm is not None:
             self.fs.excluded += self.scm.getSpecialDirs()
@@ -215,13 +222,6 @@
         if self.index is not None:
             self.fs.excluded.append(self.index.store_dir)
 
-        self.formatters = {
-                markdown.markdown: [ 'md', 'mdown', 'markdown' ],
-                textile.textile: [ 'tl', 'text', 'textile' ],
-                self._passthrough: [ 'txt', 'html' ]
-                }
-        self.fs.page_extensions = list(set(itertools.chain(*self.formatters.itervalues())))
-
     def start(self):
         if self.scm is not None:
             self.scm.initRepo()