moin-2.0 / moin.py

#!/usr/bin/env python
# Copyright: 2012 MoinMoin:TarashishMishra
# License: GNU GPL v2 (or any later version), see LICENSE.txt for details.

""" This module serves as the entry point for GAE. The standalone server is also
called from this module.
"""

import os
import sys

support_path = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'support'))
if support_path not in sys.path:
    sys.path.insert(0, support_path)
server_sw = os.environ.get('SERVER_SOFTWARE', '')
gae = server_sw.startswith('Development') or server_sw.startswith('Google')

if gae:
    from MoinMoin import log
    log.configured = True  # TODO: without this, it crashes/hangs on GAE
    # Hack: If there are no DatastoreFile instances assume we must create the index.
    from whoosh.filedb.gae import DatastoreFile
    create_index = DatastoreFile.all().get() is None
    # Create the WSGI application object.
    from MoinMoin.app import create_app
    application = create_app(create_index=create_index)
    application.on_gae = True  # GAE specific code can check this


elif __name__ == '__main__':
    from MoinMoin.script import main
    main()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.