Hello community,
here is the log from the commit of package python-django-webpack-loader for
openSUSE:Leap:15.2 checked in at 2020-04-08 12:49:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-django-webpack-loader (Old)
and /work/SRC/openSUSE:Leap:15.2/.python-django-webpack-loader.new.3248
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-webpack-loader"
Wed Apr 8 12:49:11 2020 rev:2 rq:791677 version:0.7.0
Changes:
--------
---
/work/SRC/openSUSE:Leap:15.2/python-django-webpack-loader/python-django-webpack-loader.changes
2020-02-09 15:02:33.246747506 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.python-django-webpack-loader.new.3248/python-django-webpack-loader.changes
2020-04-08 12:49:39.242381975 +0200
@@ -1,0 +2,6 @@
+Fri Apr 3 10:25:09 UTC 2020 - Tomáš Chvátal <[email protected]>
+
+- Update to 0.7.0:
+ * Added support for custom loader classes
+
+-------------------------------------------------------------------
Old:
----
0.6.0.tar.gz
New:
----
0.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-webpack-loader.spec ++++++
--- /var/tmp/diff_new_pack.jZcqbE/_old 2020-04-08 12:49:39.622382173 +0200
+++ /var/tmp/diff_new_pack.jZcqbE/_new 2020-04-08 12:49:39.622382173 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-django-webpack-loader
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,21 +18,21 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-django-webpack-loader
-Version: 0.6.0
+Version: 0.7.0
Release: 0
Summary: Django plugin to transparently use webpack
License: MIT
Group: Development/Languages/Python
URL: https://github.com/owais/django-webpack-loader
Source:
https://github.com/owais/django-webpack-loader/archive/%{version}.tar.gz
-BuildRequires: %{python_module Django >= 1.8}
+BuildRequires: %{python_module Django >= 1.10}
BuildRequires: %{python_module django-jinja}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module unittest2}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-Django >= 1.8
+Requires: python-Django >= 1.10
Recommends: python-django-jinja
BuildArch: noarch
%python_subpackages
++++++ 0.6.0.tar.gz -> 0.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-webpack-loader-0.6.0/.circleci/config.yml
new/django-webpack-loader-0.7.0/.circleci/config.yml
--- old/django-webpack-loader-0.6.0/.circleci/config.yml 1970-01-01
01:00:00.000000000 +0100
+++ new/django-webpack-loader-0.7.0/.circleci/config.yml 2020-01-13
21:57:18.000000000 +0100
@@ -0,0 +1,168 @@
+version: 2
+workflows:
+ version: 2
+ test:
+ jobs:
+ - test-3.4-18
+ - test-3.4-19
+ - test-3.4-110
+ - test-3.4-111
+
+ - test-3.5-18
+ - test-3.5-19
+ - test-3.5-110
+ - test-3.5-111
+
+ - test-3.6-18
+ - test-3.6-19
+ - test-3.6-110
+ - test-3.6-111
+
+ - test-3.7-18
+ - test-3.7-19
+ - test-3.7-110
+ - test-3.7-111
+jobs:
+ base: &test-template
+ docker:
+ - image: circleci/python:3.4-stretch-node
+ working_directory: ~/repo
+ steps:
+ - checkout
+ - run:
+ name: python version
+ command: python --version
+
+ - restore_cache:
+ keys:
+ - v1-js
+ - restore_cache:
+ keys:
+ - v1-py
+
+ - run:
+ name: JS deps
+ command: cd tests && yarn
+ - save_cache:
+ paths:
+ - ./npm
+ key: v1-js
+
+ - run:
+ name: setup python
+ command: |
+ python3 -m venv venv
+ source venv/bin/activate
+ rm -f requirements.txt
+ pip install -r tests/requirements/common.txt
+ pip install -r tests/requirements/django${DJANGO_VERSION}.txt
+ - save_cache:
+ paths:
+ - ./cache/pip
+ key: v1-py
+
+ - run:
+ name: Run tests
+ command: |
+ source venv/bin/activate
+ cd tests
+ coverage run --source=webpack_loader manage.py test
+ test-3.4-18:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.4-stretch-node
+ environment:
+ DJANGO_VERSION: "18"
+ test-3.4-19:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.4-stretch-node
+ environment:
+ DJANGO_VERSION: "19"
+ test-3.4-110:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.4-stretch-node
+ environment:
+ DJANGO_VERSION: "110"
+ test-3.4-111:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.4-stretch-node
+ environment:
+ DJANGO_VERSION: "111"
+
+ test-3.5-18:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.5-stretch-node
+ environment:
+ DJANGO_VERSION: "18"
+ test-3.5-19:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.5-stretch-node
+ environment:
+ DJANGO_VERSION: "19"
+ test-3.5-110:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.5-stretch-node
+ environment:
+ DJANGO_VERSION: "110"
+ test-3.5-111:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.5-stretch-node
+ environment:
+ DJANGO_VERSION: "111"
+
+ test-3.6-18:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.6-stretch-node
+ environment:
+ DJANGO_VERSION: "18"
+ test-3.6-19:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.6-stretch-node
+ environment:
+ DJANGO_VERSION: "19"
+ test-3.6-110:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.6-stretch-node
+ environment:
+ DJANGO_VERSION: "110"
+ test-3.6-111:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.6-stretch-node
+ environment:
+ DJANGO_VERSION: "111"
+
+ test-3.7-18:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.7-stretch-node
+ environment:
+ DJANGO_VERSION: "18"
+ test-3.7-19:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.7-stretch-node
+ environment:
+ DJANGO_VERSION: "19"
+ test-3.7-110:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.7-stretch-node
+ environment:
+ DJANGO_VERSION: "110"
+ test-3.7-111:
+ <<: *test-template
+ docker:
+ - image: circleci/python:3.7-stretch-node
+ environment:
+ DJANGO_VERSION: "111"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-webpack-loader-0.6.0/.travis.yml
new/django-webpack-loader-0.7.0/.travis.yml
--- old/django-webpack-loader-0.6.0/.travis.yml 2018-02-23 06:09:05.000000000
+0100
+++ new/django-webpack-loader-0.7.0/.travis.yml 1970-01-01 01:00:00.000000000
+0100
@@ -1,41 +0,0 @@
-language: python
-sudo: false
-# command to install dependencies
-before_install: "cd tests"
-install: travis_retry pip install 'tox<3.0' coveralls
-# command to run tests
-script:
- - npm install
- - tox -e "${TOXENV}"
-after_success:
- - coverage xml
- - cp coverage.xml ../
- - coveralls
-env:
- matrix:
- - TOXENV=py26-django16
- - TOXENV=py27-django16
- - TOXENV=py27-django17
- - TOXENV=py33-django17
- - TOXENV=py34-django17
- - TOXENV=py27-django18
- - TOXENV=py33-django18
- - TOXENV=py34-django18
- - TOXENV=py27-django19
- - TOXENV=py34-django19
- - TOXENV=py27-django110
- - TOXENV=py34-django110
- - TOXENV=py27-django111
- - TOXENV=py34-django111
-# Python 3.5 has to go here until Travis adds it to the default build images.
-# https://github.com/travis-ci/travis-ci/issues/4794#issuecomment-143758799
-matrix:
- include:
- - python: 3.5
- env: TOXENV=py35-django18
- - python: 3.5
- env: TOXENV=py35-django19
- - python: 3.5
- env: TOXENV=py35-django110
- - python: 3.5
- env: TOXENV=py35-django111
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-webpack-loader-0.6.0/Makefile
new/django-webpack-loader-0.7.0/Makefile
--- old/django-webpack-loader-0.6.0/Makefile 2018-02-23 06:09:05.000000000
+0100
+++ new/django-webpack-loader-0.7.0/Makefile 2020-01-13 21:57:18.000000000
+0100
@@ -18,17 +18,15 @@
build: clean
@echo "Building..."
+ @pip install -U setuptools
@python setup.py sdist bdist_wheel --universal
install:
@echo "Installing build dependencies"
- @[ ! -d $(ENV)/ ] && virtualenv $(ENV)/ || :
+ @[ ! -d $(ENV)/ ] && python3 -m venv $(ENV)/ || :
@$(ENV)/bin/pip install $(requirements)
-generate-rst:
- @pandoc --from=markdown --to=rst --output=README.rst README.md
-
-publish: generate-rst build
+publish: build
@echo "Publishing to pypi..."
@$(ENV)/bin/twine upload -r $(REPOSITORY) dist/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-webpack-loader-0.6.0/README.md
new/django-webpack-loader-0.7.0/README.md
--- old/django-webpack-loader-0.6.0/README.md 2018-02-23 06:09:05.000000000
+0100
+++ new/django-webpack-loader-0.7.0/README.md 2020-01-13 21:57:18.000000000
+0100
@@ -1,7 +1,7 @@
# django-webpack-loader
[](https://gitter.im/owais/django-webpack-loader?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-[](https://travis-ci.org/owais/django-webpack-loader)
+[](https://circleci.com/gh/owais/django-webpack-loader/tree/master)
[](https://coveralls.io/github/owais/django-webpack-loader?branch=master)
<br>
@@ -16,18 +16,10 @@
A [changelog](CHANGELOG.md) is also available.
-## Maintainers
-In order to overcome the lack of support for Markdown on PyPi, building this
package can use [pandoc](http://pandoc.org/installing.html) along with
[pypandoc](https://pypi.python.org/pypi/pypandoc) to convert the README.md into
a Restructured Text format compatible with PyPI. This requires installing
`pandoc` for your operating system (installation instructions on the pandoc
site), and `pypandoc` which will be installed if you:
-
- pip install -r requirements-dev.txt
-
-before uploading to PyPI.
-
-If pandoc or pypandoc fails, the README.md file will be uploaded as it was
before this enhancement.
## Compatibility
-Test cases cover Django>=1.6 on Python 2.7 and Python>=3.3. 100% code coverage
is the target so we can be sure everything works anytime. It should probably
work on older version of django as well but the package does not ship any test
cases for them.
+Test cases cover Django>=1.6 on Python 2.7 and Python>=3.4. 100% code coverage
is the target so we can be sure everything works anytime. It should probably
work on older version of django as well but the package does not ship any test
cases for them.
## Install
@@ -98,7 +90,8 @@
'STATS_FILE': os.path.join(BASE_DIR, 'webpack-stats.json'),
'POLL_INTERVAL': 0.1,
'TIMEOUT': None,
- 'IGNORE': ['.+\.hot-update.js', '.+\.map']
+ 'IGNORE': [r'.+\.hot-update.js', r'.+\.map'],
+ 'LOADER_CLASS': 'webpack_loader.loader.WebpackLoader',
}
}
```
@@ -126,7 +119,7 @@
}
```
-`BUNDLE_DIR_NAME` refers to the dir in which webpack outputs the bundles. It
should not be the full path. If `./assets` is one of you static dirs and
webpack generates the bundles in `./assets/output/bundles/`, then
`BUNDLE_DIR_NAME` should be `output/bundles/`.
+`BUNDLE_DIR_NAME` refers to the dir in which webpack outputs the bundles. It
should not be the full path. If `./assets` is one of your static dirs and
webpack generates the bundles in `./assets/output/bundles/`, then
`BUNDLE_DIR_NAME` should be `output/bundles/`.
If the bundle generates a file called `main-cf4b5fab6e00a404e0c7.js` and your
STATIC_URL is `/static/`, then the `<script>` tag will look like this
@@ -134,6 +127,8 @@
<script type="text/javascript"
src="/static/output/bundles/main-cf4b5fab6e00a404e0c7.js"/>
```
+**NOTE:** If your webpack config outputs the bundles at the root of your
`staticfiles` dir, then `BUNDLE_DIR_NAME` should be an empty string `''`, not
`'/'`.
+
<br>
#### STATS_FILE
@@ -174,6 +169,40 @@
<br>
+#### LOADER_CLASS
+
+`LOADER_CLASS` is the fully qualified name of a python class as a string that
holds the custom webpack loader.
+This is where behavior can be customized as to how the stats file is loaded.
Examples include loading the stats file
+from a database, cache, external url, etc. For convenience,
`webpack_loader.loader.WebpackLoader` can be extended;
+The `load_assets` method is likely where custom behavior will be added. This
should return the stats file as an object.
+
+Here's a simple example of loading from an external url:
+
+```py
+# in app.module
+import requests
+from webpack_loader.loader import WebpackLoader
+
+class ExternalWebpackLoader(WebpackLoader):
+
+ def load_assets(self):
+ url = self.config['STATS_URL']
+ return requests.get(url).json()
+
+
+# in app.settings
+WEBPACK_LOADER = {
+ 'DEFAULT': {
+ 'CACHE': False,
+ 'BUNDLE_DIR_NAME': 'bundles/',
+ 'LOADER_CLASS': 'app.module.ExternalWebpackLoader',
+ # Custom config setting made available in WebpackLoader's self.config
+ 'STATS_URL': 'https://www.test.com/path/to/stats/',
+ }
+}
+```
+
+<br>
## Usage
<br>
@@ -258,7 +287,7 @@
{% render_bundle 'main' config='DASHBOARD' extension='css' %}
<!-- add some extra attributes to the tag -->
- {% render_bundle 'main' 'js' 'DEFAULT' attrs='async chatset="UTF-8"'%}
+ {% render_bundle 'main' 'js' 'DEFAULT' attrs='async charset="UTF-8"'%}
</body>
</head>
```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-webpack-loader-0.6.0/examples/simple/app/urls.py
new/django-webpack-loader-0.7.0/examples/simple/app/urls.py
--- old/django-webpack-loader-0.6.0/examples/simple/app/urls.py 2018-02-23
06:09:05.000000000 +0100
+++ new/django-webpack-loader-0.7.0/examples/simple/app/urls.py 2020-01-13
21:57:18.000000000 +0100
@@ -16,10 +16,10 @@
from django.conf.urls import include, url
from django.contrib import admin
from django.views.generic import TemplateView
-
-
+## For Django 2+ support
+from django.urls import path
urlpatterns = [
url(r'^$', TemplateView.as_view(template_name='home.html'), name='home'),
- url(r'^admin/', include(admin.site.urls)),
+ path('admin/', admin.site.urls), ## Django 2+ admin namespace
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-webpack-loader-0.6.0/requirements-dev.txt
new/django-webpack-loader-0.7.0/requirements-dev.txt
--- old/django-webpack-loader-0.6.0/requirements-dev.txt 2018-02-23
06:09:05.000000000 +0100
+++ new/django-webpack-loader-0.7.0/requirements-dev.txt 2020-01-13
21:57:18.000000000 +0100
@@ -3,3 +3,4 @@
django-jinja==2.2.1
django-jinja2==0.1
unittest2==1.1.0
+wheel==0.30.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-webpack-loader-0.6.0/setup.py
new/django-webpack-loader-0.7.0/setup.py
--- old/django-webpack-loader-0.6.0/setup.py 2018-02-23 06:09:05.000000000
+0100
+++ new/django-webpack-loader-0.7.0/setup.py 2020-01-13 21:57:18.000000000
+0100
@@ -8,10 +8,7 @@
'''returns the relative path to a file wrt to the current directory'''
return os.path.abspath(os.path.join(os.path.dirname(__file__), *parts))
-if os.path.isfile('README.rst'):
- README = open('README.rst', 'r').read()
-else:
- README = open('README.md', 'r').read()
+README = open('README.md', 'r').read()
with open(rel('webpack_loader', '__init__.py')) as handler:
INIT_PY = handler.read()
@@ -25,6 +22,7 @@
version = VERSION,
description = 'Transparently use webpack with django',
long_description=README,
+ long_description_content_type="text/markdown",
author = 'Owais Lone',
author_email = '[email protected]',
download_url =
'https://github.com/owais/django-webpack-loader/tarball/{0}'.format(VERSION),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-webpack-loader-0.6.0/tests/app/tests/test_custom_loaders.py
new/django-webpack-loader-0.7.0/tests/app/tests/test_custom_loaders.py
--- old/django-webpack-loader-0.6.0/tests/app/tests/test_custom_loaders.py
1970-01-01 01:00:00.000000000 +0100
+++ new/django-webpack-loader-0.7.0/tests/app/tests/test_custom_loaders.py
2020-01-13 21:57:18.000000000 +0100
@@ -0,0 +1,63 @@
+from imp import reload
+from django.test import TestCase
+from webpack_loader import utils, config, loader
+
+
+DEFAULT_CONFIG = 'DEFAULT'
+LOADER_PAYLOAD = {'status': 'done', 'chunks': []}
+
+
+class ValidCustomLoader(loader.WebpackLoader):
+
+ def load_assets(self):
+ return LOADER_PAYLOAD
+
+
+class CustomLoadersTestCase(TestCase):
+ def tearDown(self):
+ self.reload_webpack()
+
+ def reload_webpack(self):
+ '''
+ Reloads webpack loader modules that have cached values to avoid
polluting certain tests
+ '''
+ reload(utils)
+ reload(config)
+
+ def test_bad_custom_loader(self):
+ '''
+ Tests that a bad custom loader path will raise an error
+ '''
+ loader_class = 'app.tests.bad_loader_path.BadCustomLoader'
+ with self.settings(WEBPACK_LOADER={
+ 'DEFAULT': {
+ 'CACHE': False,
+ 'BUNDLE_DIR_NAME': 'bundles/',
+ 'LOADER_CLASS': loader_class
+ }
+ }):
+ self.reload_webpack()
+ try:
+ loader = utils.get_loader(DEFAULT_CONFIG)
+ self.fail('The loader should fail to load with a bad
LOADER_CLASS')
+ except ImportError as e:
+ self.assertIn(
+ '{} doesn\'t look like a valid module
path'.format(loader_class),
+ str(e)
+ )
+
+ def test_good_custom_loader(self):
+ '''
+ Tests that a good custom loader will return the correct assets
+ '''
+ loader_class = 'app.tests.test_custom_loaders.ValidCustomLoader'
+ with self.settings(WEBPACK_LOADER={
+ 'DEFAULT': {
+ 'CACHE': False,
+ 'BUNDLE_DIR_NAME': 'bundles/',
+ 'LOADER_CLASS': loader_class,
+ }
+ }):
+ self.reload_webpack()
+ assets = utils.get_loader(DEFAULT_CONFIG).load_assets()
+ self.assertEqual(assets, LOADER_PAYLOAD)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-webpack-loader-0.6.0/tests/app/tests/test_webpack.py
new/django-webpack-loader-0.7.0/tests/app/tests/test_webpack.py
--- old/django-webpack-loader-0.6.0/tests/app/tests/test_webpack.py
2018-02-23 06:09:05.000000000 +0100
+++ new/django-webpack-loader-0.7.0/tests/app/tests/test_webpack.py
2020-01-13 21:57:18.000000000 +0100
@@ -235,7 +235,7 @@
elapsed = time.time() - then
t.join()
t2.join()
- self.assertTrue(elapsed > wait_for)
+ self.assertTrue(elapsed >= wait_for)
with self.settings(DEBUG=False):
self.compile_bundles('webpack.config.simple.js')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-webpack-loader-0.6.0/tests/requirements/common.txt
new/django-webpack-loader-0.7.0/tests/requirements/common.txt
--- old/django-webpack-loader-0.6.0/tests/requirements/common.txt
1970-01-01 01:00:00.000000000 +0100
+++ new/django-webpack-loader-0.7.0/tests/requirements/common.txt
2020-01-13 21:57:18.000000000 +0100
@@ -0,0 +1,3 @@
+coverage>=4.5.4
+coveralls>=1.10.0
+unittest2>=1.1.0
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-webpack-loader-0.6.0/tests/requirements/django110.txt
new/django-webpack-loader-0.7.0/tests/requirements/django110.txt
--- old/django-webpack-loader-0.6.0/tests/requirements/django110.txt
1970-01-01 01:00:00.000000000 +0100
+++ new/django-webpack-loader-0.7.0/tests/requirements/django110.txt
2020-01-13 21:57:18.000000000 +0100
@@ -0,0 +1,2 @@
+django>=1.10,<1.11
+django_jinja>=2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-webpack-loader-0.6.0/tests/requirements/django111.txt
new/django-webpack-loader-0.7.0/tests/requirements/django111.txt
--- old/django-webpack-loader-0.6.0/tests/requirements/django111.txt
1970-01-01 01:00:00.000000000 +0100
+++ new/django-webpack-loader-0.7.0/tests/requirements/django111.txt
2020-01-13 21:57:18.000000000 +0100
@@ -0,0 +1,2 @@
+django>=1.11,<1.12
+django_jinja>=2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-webpack-loader-0.6.0/tests/requirements/django18.txt
new/django-webpack-loader-0.7.0/tests/requirements/django18.txt
--- old/django-webpack-loader-0.6.0/tests/requirements/django18.txt
1970-01-01 01:00:00.000000000 +0100
+++ new/django-webpack-loader-0.7.0/tests/requirements/django18.txt
2020-01-13 21:57:18.000000000 +0100
@@ -0,0 +1,2 @@
+django>=1.8,<1.9.0
+django_jinja>=2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-webpack-loader-0.6.0/tests/requirements/django19.txt
new/django-webpack-loader-0.7.0/tests/requirements/django19.txt
--- old/django-webpack-loader-0.6.0/tests/requirements/django19.txt
1970-01-01 01:00:00.000000000 +0100
+++ new/django-webpack-loader-0.7.0/tests/requirements/django19.txt
2020-01-13 21:57:18.000000000 +0100
@@ -0,0 +1,2 @@
+django>=1.9,<1.10
+django_jinja>=2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-webpack-loader-0.6.0/tests/tox.ini
new/django-webpack-loader-0.7.0/tests/tox.ini
--- old/django-webpack-loader-0.6.0/tests/tox.ini 2018-02-23
06:09:05.000000000 +0100
+++ new/django-webpack-loader-0.7.0/tests/tox.ini 2020-01-13
21:57:18.000000000 +0100
@@ -2,16 +2,12 @@
minversion = 1.6
skipsdist = True
envlist =
- py26-django16
- py27-django{16,17,18,19,110,111}
py33-django{17,18}
py34-django{17,18,19,110,111}
py35-django{18,19,110,111}
[testenv]
basepython =
- py26: python2.6
- py27: python2.7
py33: python3.3
py34: python3.4
py35: python3.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-webpack-loader-0.6.0/webpack_loader/__init__.py
new/django-webpack-loader-0.7.0/webpack_loader/__init__.py
--- old/django-webpack-loader-0.6.0/webpack_loader/__init__.py 2018-02-23
06:09:05.000000000 +0100
+++ new/django-webpack-loader-0.7.0/webpack_loader/__init__.py 2020-01-13
21:57:18.000000000 +0100
@@ -1,4 +1,4 @@
__author__ = 'Owais Lone'
-__version__ = '0.6.0'
+__version__ = '0.7.0'
default_app_config = 'webpack_loader.apps.WebpackLoaderConfig'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-webpack-loader-0.6.0/webpack_loader/config.py
new/django-webpack-loader-0.7.0/webpack_loader/config.py
--- old/django-webpack-loader-0.6.0/webpack_loader/config.py 2018-02-23
06:09:05.000000000 +0100
+++ new/django-webpack-loader-0.7.0/webpack_loader/config.py 2020-01-13
21:57:18.000000000 +0100
@@ -14,7 +14,8 @@
# FIXME: Explore usage of fsnotify
'POLL_INTERVAL': 0.1,
'TIMEOUT': None,
- 'IGNORE': ['.+\.hot-update.js', '.+\.map']
+ 'IGNORE': ['.+\.hot-update.js', '.+\.map'],
+ 'LOADER_CLASS': 'webpack_loader.loader.WebpackLoader',
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-webpack-loader-0.6.0/webpack_loader/loader.py
new/django-webpack-loader-0.7.0/webpack_loader/loader.py
--- old/django-webpack-loader-0.6.0/webpack_loader/loader.py 2018-02-23
06:09:05.000000000 +0100
+++ new/django-webpack-loader-0.7.0/webpack_loader/loader.py 2020-01-13
21:57:18.000000000 +0100
@@ -11,17 +11,16 @@
WebpackLoaderTimeoutError,
WebpackBundleLookupError
)
-from .config import load_config
class WebpackLoader(object):
_assets = {}
- def __init__(self, name='DEFAULT'):
+ def __init__(self, name, config):
self.name = name
- self.config = load_config(self.name)
+ self.config = config
- def _load_assets(self):
+ def load_assets(self):
try:
with open(self.config['STATS_FILE'], encoding="utf-8") as f:
return json.load(f)
@@ -34,9 +33,9 @@
def get_assets(self):
if self.config['CACHE']:
if self.name not in self._assets:
- self._assets[self.name] = self._load_assets()
+ self._assets[self.name] = self.load_assets()
return self._assets[self.name]
- return self._load_assets()
+ return self.load_assets()
def filter_chunks(self, chunks):
for chunk in chunks:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-webpack-loader-0.6.0/webpack_loader/utils.py
new/django-webpack-loader-0.7.0/webpack_loader/utils.py
--- old/django-webpack-loader-0.6.0/webpack_loader/utils.py 2018-02-23
06:09:05.000000000 +0100
+++ new/django-webpack-loader-0.7.0/webpack_loader/utils.py 2020-01-13
21:57:18.000000000 +0100
@@ -1,14 +1,31 @@
+from importlib import import_module
from django.conf import settings
-
-from .loader import WebpackLoader
+from .config import load_config
_loaders = {}
+def import_string(dotted_path):
+ '''
+ This is a rough copy of django's import_string, which wasn't introduced
until Django 1.7
+
+ Once this package's support for Django 1.6 has been removed, this can be
safely replaced with
+ `from django.utils.module_loading import import_string`
+ '''
+ try:
+ module_path, class_name = dotted_path.rsplit('.', 1)
+ module = import_module(module_path)
+ return getattr(module, class_name)
+ except (ValueError, AttributeError, ImportError):
+ raise ImportError('%s doesn\'t look like a valid module path' %
dotted_path)
+
+
def get_loader(config_name):
if config_name not in _loaders:
- _loaders[config_name] = WebpackLoader(config_name)
+ config = load_config(config_name)
+ loader_class = import_string(config['LOADER_CLASS'])
+ _loaders[config_name] = loader_class(config_name, config)
return _loaders[config_name]