Skip to content

Commit

Permalink
Fixed a bug in list_templates
Browse files Browse the repository at this point in the history
  • Loading branch information
mitsuhiko committed Jul 15, 2011
1 parent 8d2daea commit c9a2ad2
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 5 deletions.
8 changes: 8 additions & 0 deletions CHANGES
Expand Up @@ -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
-------------

Expand Down
4 changes: 3 additions & 1 deletion flask/templating.py
Expand Up @@ -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
Expand All @@ -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)

Expand Down
4 changes: 2 additions & 2 deletions tests/blueprintapp/__init__.py
@@ -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)
4 changes: 3 additions & 1 deletion tests/blueprintapp/apps/admin/__init__.py
@@ -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('/')
Expand Down
2 changes: 1 addition & 1 deletion tests/blueprintapp/apps/frontend/__init__.py
@@ -1,6 +1,6 @@
from flask import Blueprint, render_template

frontend = Blueprint(__name__)
frontend = Blueprint('frontend', __name__, template_folder='templates')


@frontend.route('/')
Expand Down
6 changes: 6 additions & 0 deletions tests/flask_tests.py
Expand Up @@ -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__)
Expand Down

0 comments on commit c9a2ad2

Please sign in to comment.