From f70e8727add181e198e25cf2c5db45595294d66e Mon Sep 17 00:00:00 2001 From: Yohan Graterol Date: Fri, 20 May 2016 14:53:55 -0500 Subject: [PATCH 1/3] Fixed render_bundle tag when the stats file does not exists --- tests/app/tests/test_webpack.py | 15 +++++++++++++++ webpack_loader/templatetags/webpack_loader.py | 8 +++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/tests/app/tests/test_webpack.py b/tests/app/tests/test_webpack.py index 312557a4..16445973 100644 --- a/tests/app/tests/test_webpack.py +++ b/tests/app/tests/test_webpack.py @@ -15,6 +15,7 @@ WebpackLoaderBadStatsError ) from webpack_loader.utils import get_loader +from webpack_loader.templatetags.webpack_loader import render_bundle BUNDLE_PATH = os.path.join(settings.BASE_DIR, 'assets/bundles/') @@ -166,6 +167,20 @@ def test_missing_stats_file(self): ).format(stats_file) self.assertIn(expected, str(e)) + def test_missin_stats_file_template_tag_render_bundle(self): + stats_file = settings.WEBPACK_LOADER[DEFAULT_CONFIG]['STATS_FILE'] + if os.path.exists(stats_file): + os.remove(stats_file) + expected = ''.format( + 'main', + 'Error reading {0}. Are you sure webpack has generated the ' + 'file and the path is correct?'.format(stats_file) + ) + self.assertEquals( + render_bundle('main'), + expected + ) + def test_bad_status_in_production(self): with open( settings.WEBPACK_LOADER[DEFAULT_CONFIG]['STATS_FILE'], 'w' diff --git a/webpack_loader/templatetags/webpack_loader.py b/webpack_loader/templatetags/webpack_loader.py index a964dc04..27d82ca7 100644 --- a/webpack_loader/templatetags/webpack_loader.py +++ b/webpack_loader/templatetags/webpack_loader.py @@ -37,7 +37,13 @@ def _get_bundle(bundle_name, extension, config): @register.simple_tag def render_bundle(bundle_name, extension=None, config='DEFAULT'): - return render_as_tags(_get_bundle(bundle_name, extension, config)) + try: + return render_as_tags(_get_bundle(bundle_name, extension, config)) + except IOError as e: + return ''.format( + bundle_name, + e + ) @register.simple_tag From a3d842d2604a067ad5635e47a0b610b4cc4220de Mon Sep 17 00:00:00 2001 From: Yohan Graterol Date: Fri, 20 May 2016 15:01:26 -0500 Subject: [PATCH 2/3] Fixed Key error when the bundle doesn't exists the bundle file --- webpack_loader/templatetags/webpack_loader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpack_loader/templatetags/webpack_loader.py b/webpack_loader/templatetags/webpack_loader.py index 27d82ca7..7a38c5f8 100644 --- a/webpack_loader/templatetags/webpack_loader.py +++ b/webpack_loader/templatetags/webpack_loader.py @@ -39,7 +39,7 @@ def _get_bundle(bundle_name, extension, config): def render_bundle(bundle_name, extension=None, config='DEFAULT'): try: return render_as_tags(_get_bundle(bundle_name, extension, config)) - except IOError as e: + except IOError, KeyError as e: return ''.format( bundle_name, e From 89d8a431ab2b38c29c6ec78748a9f951afe5c0ff Mon Sep 17 00:00:00 2001 From: Yohan Graterol Date: Fri, 20 May 2016 15:02:54 -0500 Subject: [PATCH 3/3] Fixed typo in line 42 of webpack_loader.py --- webpack_loader/templatetags/webpack_loader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpack_loader/templatetags/webpack_loader.py b/webpack_loader/templatetags/webpack_loader.py index 7a38c5f8..0a66c012 100644 --- a/webpack_loader/templatetags/webpack_loader.py +++ b/webpack_loader/templatetags/webpack_loader.py @@ -39,7 +39,7 @@ def _get_bundle(bundle_name, extension, config): def render_bundle(bundle_name, extension=None, config='DEFAULT'): try: return render_as_tags(_get_bundle(bundle_name, extension, config)) - except IOError, KeyError as e: + except (IOError, KeyError) as e: return ''.format( bundle_name, e