Mercurial > wikked
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()