Skip to content

Instantly share code, notes, and snippets.

@silenius
Created December 1, 2016 15:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save silenius/57a28656a9826c96455740dfea9e4c38 to your computer and use it in GitHub Desktop.
Save silenius/57a28656a9826c96455740dfea9e4c38 to your computer and use it in GitHub Desktop.
def main(global_config, **settings):
"""
This function returns a Pyramid WSGI application.
"""
config = Configurator(settings=settings, root_factory=get_root)
config.include('pyramid_chameleon')
config.include('amnesia.renderers')
config.include('amnesia.db')
config.include('amnesia.modules.folder.mapper')
config.include('amnesia.modules.file.mapper')
config.include('amnesia.modules.event.mapper')
config.include('amnesia.modules.document.mapper')
config.include('amnesia.modules.content.views')
config.include('amnesia.modules.document.views')
config.include('amnesia.modules.folder.views')
config.add_static_view(name='static', path='amnesia:/static')
config.add_view('amnesia.views.index', '')
config.add_resource_url_adapter(EntityResourceURLAdapter)
config.scan()
#config.add_renderer('.html', 'pyramid_chameleon.zpt.renderer_factory')
config.add_renderer('.xml', 'pyramid_chameleon.zpt.renderer_factory')
return config.make_wsgi_app()
@implementer(IResourceURL)
class EntityResourceURLAdapter(ResourceURL):
def __init__(self, resource, request):
if isinstance(resource, Folder):
resource = FolderResource(resource, request)
elif isinstance(resource, Document):
resource = DocumentResource(resource, request)
elif isinstance(resource, Event):
resource = EventResource(resource, request)
super().__init__(resource, request)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment