Permalink
Browse files

Fixed a bug in list_templates

  • Loading branch information...
1 parent 8d2daea commit c9a2ad2b8d079c0ecca701f4c0b15390437c4843 @mitsuhiko mitsuhiko committed Jul 15, 2011
View
@@ -15,6 +15,14 @@ Relase date to be decided, codename to be chosen.
- View functions can now opt out of getting the automatic
OPTIONS implementation.
+Version 0.7.3
+-------------
+
+Bugfix release, release date to be decided
+
+- Fixed the Jinja2 environment's list_templates method not returning the
+ correct names when blueprints or modules were involved.
+
Version 0.7.2
-------------
View
@@ -78,6 +78,8 @@ def _iter_loaders(self, template):
pass
for blueprint in self.app.blueprints.itervalues():
+ if blueprint_is_module(blueprint):
+ continue
loader = blueprint.jinja_loader
if loader is not None:
yield loader, template
@@ -93,7 +95,7 @@ def list_templates(self):
if loader is not None:
for template in loader.list_templates():
prefix = ''
- if not blueprint_is_module(blueprint):
+ if blueprint_is_module(blueprint):
prefix = name + '/'
result.add(prefix + template)
@@ -1,7 +1,7 @@
from flask import Flask
app = Flask(__name__)
-from moduleapp.apps.admin import admin
-from moduleapp.apps.frontend import frontend
+from blueprintapp.apps.admin import admin
+from blueprintapp.apps.frontend import frontend
app.register_blueprint(admin)
app.register_blueprint(frontend)
@@ -1,6 +1,8 @@
from flask import Blueprint, render_template
-admin = Blueprint(__name__, url_prefix='/admin')
+admin = Blueprint('admin', __name__, url_prefix='/admin',
+ template_folder='templates',
+ static_folder='static')
@admin.route('/')
@@ -1,6 +1,6 @@
from flask import Blueprint, render_template
-frontend = Blueprint(__name__)
+frontend = Blueprint('frontend', __name__, template_folder='templates')
@frontend.route('/')
View
@@ -1414,6 +1414,12 @@ def test_templates_and_static(self):
with flask.Flask(__name__).test_request_context():
assert flask.render_template('nested/nested.txt') == 'I\'m nested'
+ def test_templates_list(self):
+ from blueprintapp import app
+ templates = sorted(app.jinja_env.list_templates())
+ self.assertEqual(templates, ['admin/index.html',
+ 'frontend/index.html'])
+
def test_dotted_names(self):
frontend = flask.Blueprint('myapp.frontend', __name__)
backend = flask.Blueprint('myapp.backend', __name__)

0 comments on commit c9a2ad2

Please sign in to comment.