Switch to side-by-side view

--- a/Allura/allura/config/app_cfg.py
+++ b/Allura/allura/config/app_cfg.py
@@ -30,9 +30,6 @@
     setting = asbool(global_conf.get('the_setting'))
 
 """
-import logging
-import pkg_resources
-
 import tg
 import jinja2
 import pylons
@@ -45,8 +42,8 @@
 import allura
 # needed for tg.configuration to work
 from allura.lib import app_globals, helpers
+from allura.lib.package_path_loader import PackagePathLoader
 
-log = logging.getLogger(__name__)
 
 class ForgeConfig(AppConfig):
 
@@ -54,13 +51,12 @@
         AppConfig.__init__(self)
         self.root_controller = root_controller
         self.package = allura
-        self.renderers = [ 'json', 'genshi', 'jinja' ]
+        self.renderers = ['json', 'genshi', 'mako', 'jinja']
         self.default_renderer = 'genshi'
         self.use_sqlalchemy = False
         self.use_toscawidgets = True
         self.use_transaction_manager = False
-        # self.handle_status_codes = [ 403, 404 ]
-        self.handle_status_codes = [ 403, 404 ]
+        self.handle_status_codes = [403, 404]
         self.disable_request_extensions = True
 
     def after_init_config(self):
@@ -108,6 +104,7 @@
         config['pylons.strict_c'] = True
         self.render_functions.jinja = tg.render.render_jinja
 
+
 class JinjaEngine(ew.TemplateEngine):
 
     @property
@@ -129,15 +126,4 @@
             text = template.render(**context)
             return literal(text)
 
-class PackagePathLoader(jinja2.BaseLoader):
-
-    def __init__(self):
-        self.fs_loader = jinja2.FileSystemLoader(['/'])
-
-    def get_source(self, environment, template):
-        package, path = template.split(':')
-        filename = pkg_resources.resource_filename(package, path)
-        return self.fs_loader.get_source(environment, filename)
-
-
 base_config = ForgeConfig()