Compare commits
35 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4088983b63 |
||
|
|
c47467d43f |
||
|
|
fcfc8dd484 |
||
|
|
1a5548185b |
||
|
|
a3b82fdbcf | ||
|
|
2c69538071 | ||
|
|
e8cf3aab29 | ||
|
|
20499935df | ||
|
|
a60ba9a21f | ||
|
|
d38151b86e | ||
|
|
8da4cb4fea |
||
|
|
66ec10d2b9 |
||
|
|
35c449bbe3 | ||
|
|
78da4b3718 | ||
|
|
c63dc811bd | ||
|
|
f73b71e9e9 | ||
|
|
4ec455047a | ||
|
|
a07f14cb1c |
||
|
|
ef93f09bb9 | ||
|
|
bd6cd6ca5c | ||
|
|
9a0eeafc7c | ||
|
|
20403d4e61 | ||
|
|
7e745f6429 | ||
|
|
ac5e247623 | ||
|
|
1b4183de0a | ||
|
|
e5164c8438 | ||
|
|
52d41b6dc8 | ||
|
|
9e25dc5ee9 | ||
|
|
ae12c34f57 | ||
|
|
581d7131d8 | ||
|
|
c46668f223 | ||
|
|
a07793f889 | ||
|
|
488b36c1f7 | ||
|
|
d1d1fd1778 | ||
|
|
226b4906aa |
10 changed files with 363 additions and 386 deletions
13
.gitignore
vendored
13
.gitignore
vendored
|
|
@ -1,8 +1,5 @@
|
||||||
/django_compressor-1.2.tar.gz
|
/python-django-compressor-*.tar.gz
|
||||||
/django_compressor-1.3.tar.gz
|
/django-compressor-*.tar.gz
|
||||||
/django_compressor-1.4.tar.gz
|
/django_compressor-4.4.tar.gz
|
||||||
/django_compressor-1.5.tar.gz
|
/django_compressor-4.5.1.tar.gz
|
||||||
/django_compressor-1.6.tar.gz
|
/django_compressor-4.6.0.tar.gz
|
||||||
/django_compressor-2.0.tar.gz
|
|
||||||
/python-django-compressor-2.1.tar.gz
|
|
||||||
/python-django-compressor-2.2.tar.gz
|
|
||||||
|
|
|
||||||
3
README.packit
Normal file
3
README.packit
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
This repository is maintained by packit.
|
||||||
|
https://packit.dev/
|
||||||
|
The file was generated using packit 1.12.0.
|
||||||
124
changelog
Normal file
124
changelog
Normal file
|
|
@ -0,0 +1,124 @@
|
||||||
|
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.4.1-2
|
||||||
|
- Rebuilt for Python 3.11
|
||||||
|
|
||||||
|
* Mon Mar 14 2022 Karolina Kula <kkula@redhat.com> - 2.4.1-1
|
||||||
|
- Update to 2.4.1
|
||||||
|
|
||||||
|
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.4-3
|
||||||
|
- Rebuilt for Python 3.10
|
||||||
|
|
||||||
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Sep 09 2020 Yatin Karel <ykarel@redhat.com> - 2.4-1
|
||||||
|
- Update to 2.4
|
||||||
|
|
||||||
|
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.2-10
|
||||||
|
- Rebuilt for Python 3.9
|
||||||
|
|
||||||
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.2-8
|
||||||
|
- Rebuilt for Python 3.8.0rc1 (#1748018)
|
||||||
|
|
||||||
|
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.2-7
|
||||||
|
- Rebuilt for Python 3.8
|
||||||
|
|
||||||
|
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.2-3
|
||||||
|
- Rebuilt for Python 3.7
|
||||||
|
|
||||||
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 31 2018 Matthias Runge <mrunge@redhat.com> - 2.2-1
|
||||||
|
- update to 2.2
|
||||||
|
|
||||||
|
* Fri Jan 26 2018 Matthias Runge <mrunge@redhat.com> - 2.1-6
|
||||||
|
- Drop python2 package for https://fedoraproject.org/wiki/Changes/Django20
|
||||||
|
|
||||||
|
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1-5
|
||||||
|
- Python 2 binary package renamed to python2-django-compressor
|
||||||
|
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
||||||
|
|
||||||
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 2.1-2
|
||||||
|
- Rebuild for Python 3.6
|
||||||
|
|
||||||
|
* Thu Aug 11 2016 Matthias Runge <mrunge@redhat.com> - 2.1-1
|
||||||
|
- update to 2.1 (rhbz#1365700)
|
||||||
|
- modernize spec
|
||||||
|
|
||||||
|
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-2
|
||||||
|
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||||
|
|
||||||
|
* Fri Feb 26 2016 Matthias Runge <mrunge@redhat.com> - 2.0-1
|
||||||
|
- update to 2.0 (rhbz#1296716)
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.6-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Nov 20 2015 Matthias Runge <mrunge@redhat.com> - 1.6-1
|
||||||
|
- update to 1.6 (rhbz#1283807)
|
||||||
|
|
||||||
|
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
||||||
|
|
||||||
|
* Thu Aug 27 2015 Matthias Runge <mrunge@redhat.com> - 1.5-2
|
||||||
|
- add python3 subpackage
|
||||||
|
|
||||||
|
* Wed Aug 26 2015 Matthias Runge <mrunge@redhat.com> - 1.5-1
|
||||||
|
- update to 1.5
|
||||||
|
|
||||||
|
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Apr 15 2015 Matthias Runge <mrunge@redhat.com> - 1.4-3
|
||||||
|
- make compress command work on django-1.8
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon May 26 2014 Matthias Runge <mrunge@redhat.com> - 1.4-1
|
||||||
|
- update to 1.4 (rhbz#1100732)
|
||||||
|
|
||||||
|
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Mar 20 2013 Matthias Runge <mrunge@redhat.com> - 1.3-1
|
||||||
|
- update to python-django-compressor-1.3 (rhbz#923735)
|
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Sep 24 2012 Matthias Runge <mrunge@redhat.com> - 1.2-3
|
||||||
|
- add requirement Django/python-django
|
||||||
|
|
||||||
|
* Fri Sep 14 2012 Matthias Runge <mrunge@redhat.com> - 1.2-2
|
||||||
|
- add requirement python-versiontools
|
||||||
|
|
||||||
|
* Tue Sep 11 2012 Matthias Runge <mrunge@redhat.com> - 1.2-1
|
||||||
|
- Initial package.
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
From ac70fbfb7f8349e5c1150f40bf1d21ba635d0cb8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chirag Jadwani <cbjadwani@elance-odesk.com>
|
|
||||||
Date: Fri, 29 Aug 2014 13:15:35 +0530
|
|
||||||
Subject: [PATCH] Fix AttributeError in offline compression
|
|
||||||
|
|
||||||
---
|
|
||||||
compressor/offline/django.py | 2 ++
|
|
||||||
.../test_block_super_base_compressed/test_compressor_offline.html | 5 +++++
|
|
||||||
2 files changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/compressor/offline/django.py b/compressor/offline/django.py
|
|
||||||
index 3986562..b326093 100644
|
|
||||||
--- a/compressor/offline/django.py
|
|
||||||
+++ b/compressor/offline/django.py
|
|
||||||
@@ -54,6 +54,8 @@ def remove_block_nodes(nodelist, block_stack, block_context):
|
|
||||||
if not block_stack:
|
|
||||||
continue
|
|
||||||
node = block_context.get_block(block_stack[-1].name)
|
|
||||||
+ if not node:
|
|
||||||
+ continue
|
|
||||||
if isinstance(node, BlockNode):
|
|
||||||
expanded_block = expand_blocknode(node, block_stack, block_context)
|
|
||||||
new_nodelist.extend(expanded_block)
|
|
||||||
diff --git a/compressor/tests/test_templates/test_block_super_base_compressed/test_compressor_offline.html b/compressor/tests/test_templates/test_block_super_base_compressed/test_compressor_offline.html
|
|
||||||
index 01382ec..10097c1 100644
|
|
||||||
--- a/compressor/tests/test_templates/test_block_super_base_compressed/test_compressor_offline.html
|
|
||||||
+++ b/compressor/tests/test_templates/test_block_super_base_compressed/test_compressor_offline.html
|
|
||||||
@@ -5,4 +5,9 @@
|
|
||||||
<script type="text/javascript">
|
|
||||||
alert("this alert shouldn't be alone!");
|
|
||||||
</script>
|
|
||||||
+ {% block orphan %}
|
|
||||||
+ {{ block.super }}
|
|
||||||
+ An 'orphan' block that refers to a non-existent super block.
|
|
||||||
+ Contents of this block are ignored.
|
|
||||||
+ {% endblock %}
|
|
||||||
{% endspaceless %}{% endblock %}
|
|
||||||
|
|
@ -1,162 +0,0 @@
|
||||||
From 72b33ddbcdc41eb5af42b86329d81d96894a9d10 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Carlton Gibson <carlton.gibson@noumenal.co.uk>
|
|
||||||
Date: Tue, 10 Mar 2015 20:04:07 +0100
|
|
||||||
Subject: [PATCH] Make `compress` command (at least) run through on 1.8
|
|
||||||
|
|
||||||
FAILED (failures=15, errors=15, skipped=1)
|
|
||||||
|
|
||||||
AssertionError: 2 != 12
|
|
||||||
OfflineGenerationError: ... key "XYZ" missing ...
|
|
||||||
---
|
|
||||||
compressor/management/commands/compress.py | 41 +++++++++++++++++-------------
|
|
||||||
compressor/offline/django.py | 27 ++++++++++++++------
|
|
||||||
2 files changed, 43 insertions(+), 25 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/compressor/management/commands/compress.py b/compressor/management/commands/compress.py
|
|
||||||
index 6be215e..0bc436a 100644
|
|
||||||
--- a/compressor/management/commands/compress.py
|
|
||||||
+++ b/compressor/management/commands/compress.py
|
|
||||||
@@ -5,6 +5,7 @@
|
|
||||||
from fnmatch import fnmatch
|
|
||||||
from optparse import make_option
|
|
||||||
|
|
||||||
+import django
|
|
||||||
from django.core.management.base import NoArgsCommand, CommandError
|
|
||||||
import django.template
|
|
||||||
from django.template import Context
|
|
||||||
@@ -53,24 +54,30 @@ class Command(NoArgsCommand):
|
|
||||||
requires_model_validation = False
|
|
||||||
|
|
||||||
def get_loaders(self):
|
|
||||||
- from django.template.loader import template_source_loaders
|
|
||||||
- if template_source_loaders is None:
|
|
||||||
- try:
|
|
||||||
- from django.template.loader import (
|
|
||||||
- find_template as finder_func)
|
|
||||||
- except ImportError:
|
|
||||||
- from django.template.loader import (
|
|
||||||
- find_template_source as finder_func) # noqa
|
|
||||||
- try:
|
|
||||||
- # Force django to calculate template_source_loaders from
|
|
||||||
- # TEMPLATE_LOADERS settings, by asking to find a dummy template
|
|
||||||
- source, name = finder_func('test')
|
|
||||||
- except django.template.TemplateDoesNotExist:
|
|
||||||
- pass
|
|
||||||
- # Reload template_source_loaders now that it has been calculated ;
|
|
||||||
- # it should contain the list of valid, instanciated template loaders
|
|
||||||
- # to use.
|
|
||||||
+ if django.VERSION < (1, 8):
|
|
||||||
from django.template.loader import template_source_loaders
|
|
||||||
+ if template_source_loaders is None:
|
|
||||||
+ try:
|
|
||||||
+ from django.template.loader import (
|
|
||||||
+ find_template as finder_func)
|
|
||||||
+ except ImportError:
|
|
||||||
+ from django.template.loader import (
|
|
||||||
+ find_template_source as finder_func) # noqa
|
|
||||||
+ try:
|
|
||||||
+ # Force django to calculate template_source_loaders from
|
|
||||||
+ # TEMPLATE_LOADERS settings, by asking to find a dummy template
|
|
||||||
+ source, name = finder_func('test')
|
|
||||||
+ except django.template.TemplateDoesNotExist:
|
|
||||||
+ pass
|
|
||||||
+ # Reload template_source_loaders now that it has been calculated ;
|
|
||||||
+ # it should contain the list of valid, instanciated template loaders
|
|
||||||
+ # to use.
|
|
||||||
+ from django.template.loader import template_source_loaders
|
|
||||||
+ else:
|
|
||||||
+ from django.template import engines
|
|
||||||
+ template_source_loaders = []
|
|
||||||
+ for e in engines.all():
|
|
||||||
+ template_source_loaders.extend(e.engine.get_template_loaders(e.engine.loaders))
|
|
||||||
loaders = []
|
|
||||||
# If template loader is CachedTemplateLoader, return the loaders
|
|
||||||
# that it wraps around. So if we have
|
|
||||||
diff --git a/compressor/offline/django.py b/compressor/offline/django.py
|
|
||||||
index b326093..107c6e4 100644
|
|
||||||
--- a/compressor/offline/django.py
|
|
||||||
+++ b/compressor/offline/django.py
|
|
||||||
@@ -1,6 +1,7 @@
|
|
||||||
from __future__ import absolute_import
|
|
||||||
from copy import copy
|
|
||||||
|
|
||||||
+import django
|
|
||||||
from django import template
|
|
||||||
from django.conf import settings
|
|
||||||
from django.template import Context
|
|
||||||
@@ -14,7 +15,7 @@
|
|
||||||
from compressor.templatetags.compress import CompressorNode
|
|
||||||
|
|
||||||
|
|
||||||
-def handle_extendsnode(extendsnode, block_context=None):
|
|
||||||
+def handle_extendsnode(extendsnode, block_context=None, original=None):
|
|
||||||
"""Create a copy of Node tree of a derived template replacing
|
|
||||||
all blocks tags with the nodes of appropriate blocks.
|
|
||||||
Also handles {{ block.super }} tags.
|
|
||||||
@@ -26,6 +27,9 @@ def handle_extendsnode(extendsnode, block_context=None):
|
|
||||||
block_context.add_blocks(blocks)
|
|
||||||
|
|
||||||
context = Context(settings.COMPRESS_OFFLINE_CONTEXT)
|
|
||||||
+ if original is not None:
|
|
||||||
+ context.template = original
|
|
||||||
+
|
|
||||||
compiled_parent = extendsnode.get_parent(context)
|
|
||||||
parent_nodelist = compiled_parent.nodelist
|
|
||||||
# If the parent template has an ExtendsNode it is not the root.
|
|
||||||
@@ -33,7 +37,7 @@ def handle_extendsnode(extendsnode, block_context=None):
|
|
||||||
# The ExtendsNode has to be the first non-text node.
|
|
||||||
if not isinstance(node, TextNode):
|
|
||||||
if isinstance(node, ExtendsNode):
|
|
||||||
- return handle_extendsnode(node, block_context)
|
|
||||||
+ return handle_extendsnode(node, block_context, original)
|
|
||||||
break
|
|
||||||
# Add blocks of the root template to block context.
|
|
||||||
blocks = dict((n.name, n) for n in
|
|
||||||
@@ -95,7 +99,10 @@ def __init__(self, charset):
|
|
||||||
|
|
||||||
def parse(self, template_name):
|
|
||||||
try:
|
|
||||||
- return get_template(template_name)
|
|
||||||
+ if django.VERSION < (1, 8):
|
|
||||||
+ return get_template(template_name)
|
|
||||||
+ else:
|
|
||||||
+ return get_template(template_name).template
|
|
||||||
except template.TemplateSyntaxError as e:
|
|
||||||
raise TemplateSyntaxError(str(e))
|
|
||||||
except template.TemplateDoesNotExist as e:
|
|
||||||
@@ -111,15 +118,17 @@ def process_node(self, template, context, node):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def render_nodelist(self, template, context, node):
|
|
||||||
+ if django.VERSION >= (1, 8):
|
|
||||||
+ context.template = template
|
|
||||||
return node.nodelist.render(context)
|
|
||||||
|
|
||||||
def render_node(self, template, context, node):
|
|
||||||
return node.render(context, forced=True)
|
|
||||||
|
|
||||||
- def get_nodelist(self, node):
|
|
||||||
+ def get_nodelist(self, node, original=None):
|
|
||||||
if isinstance(node, ExtendsNode):
|
|
||||||
try:
|
|
||||||
- return handle_extendsnode(node)
|
|
||||||
+ return handle_extendsnode(node, block_context=None, original=original)
|
|
||||||
except template.TemplateSyntaxError as e:
|
|
||||||
raise TemplateSyntaxError(str(e))
|
|
||||||
except template.TemplateDoesNotExist as e:
|
|
||||||
@@ -134,10 +143,12 @@ def get_nodelist(self, node):
|
|
||||||
nodelist = getattr(node, 'nodelist', [])
|
|
||||||
return nodelist
|
|
||||||
|
|
||||||
- def walk_nodes(self, node):
|
|
||||||
- for node in self.get_nodelist(node):
|
|
||||||
+ def walk_nodes(self, node, original=None):
|
|
||||||
+ if django.VERSION >= (1, 8) and original is None:
|
|
||||||
+ original = node
|
|
||||||
+ for node in self.get_nodelist(node, original):
|
|
||||||
if isinstance(node, CompressorNode) and node.is_offline_compression_enabled(forced=True):
|
|
||||||
yield node
|
|
||||||
else:
|
|
||||||
- for node in self.walk_nodes(node):
|
|
||||||
+ for node in self.walk_nodes(node, original):
|
|
||||||
yield node
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
From c8495264b503a595fbc89e6c8a83a402eff445c6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mathieu Pillard <m@virgule.net>
|
|
||||||
Date: Sun, 25 May 2014 14:09:33 +0200
|
|
||||||
Subject: [PATCH] Use get_template() when dealing with django templates
|
|
||||||
|
|
||||||
---
|
|
||||||
compressor/offline/django.py | 16 +++++++---------
|
|
||||||
1 file changed, 7 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/compressor/offline/django.py b/compressor/offline/django.py
|
|
||||||
index 6541471..3986562 100644
|
|
||||||
--- a/compressor/offline/django.py
|
|
||||||
+++ b/compressor/offline/django.py
|
|
||||||
@@ -1,13 +1,12 @@
|
|
||||||
from __future__ import absolute_import
|
|
||||||
-import io
|
|
||||||
from copy import copy
|
|
||||||
|
|
||||||
from django import template
|
|
||||||
from django.conf import settings
|
|
||||||
-from django.template import Template
|
|
||||||
from django.template import Context
|
|
||||||
from django.template.base import Node, VariableNode, TextNode, NodeList
|
|
||||||
from django.template.defaulttags import IfNode
|
|
||||||
+from django.template.loader import get_template
|
|
||||||
from django.template.loader_tags import ExtendsNode, BlockNode, BlockContext
|
|
||||||
|
|
||||||
|
|
||||||
@@ -93,13 +92,12 @@ def __init__(self, charset):
|
|
||||||
self.charset = charset
|
|
||||||
|
|
||||||
def parse(self, template_name):
|
|
||||||
- with io.open(template_name, mode='rb') as file:
|
|
||||||
- try:
|
|
||||||
- return Template(file.read().decode(self.charset))
|
|
||||||
- except template.TemplateSyntaxError as e:
|
|
||||||
- raise TemplateSyntaxError(str(e))
|
|
||||||
- except template.TemplateDoesNotExist as e:
|
|
||||||
- raise TemplateDoesNotExist(str(e))
|
|
||||||
+ try:
|
|
||||||
+ return get_template(template_name)
|
|
||||||
+ except template.TemplateSyntaxError as e:
|
|
||||||
+ raise TemplateSyntaxError(str(e))
|
|
||||||
+ except template.TemplateDoesNotExist as e:
|
|
||||||
+ raise TemplateDoesNotExist(str(e))
|
|
||||||
|
|
||||||
def process_template(self, template, context):
|
|
||||||
return True
|
|
||||||
16
packit.yaml
Normal file
16
packit.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# See the documentation for more information:
|
||||||
|
# https://packit.dev/docs/configuration/
|
||||||
|
|
||||||
|
copy_upstream_release_description: false
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: pull_from_upstream
|
||||||
|
trigger: release
|
||||||
|
dist_git_branches:
|
||||||
|
- fedora-rawhide
|
||||||
|
|
||||||
|
- job: koji_build
|
||||||
|
trigger: commit
|
||||||
|
allowed_committers: ['packit']
|
||||||
|
dist_git_branches:
|
||||||
|
- fedora-rawhide
|
||||||
|
|
@ -1,16 +1,6 @@
|
||||||
|
%global srcname django-compressor
|
||||||
%global pypi_name django_compressor
|
%global pypi_name django_compressor
|
||||||
Name: python-django-compressor
|
%global _desc\
|
||||||
Version: 2.2
|
|
||||||
Release: 6%{?dist}
|
|
||||||
Summary: Compresses linked and inline JavaScript or CSS into single cached files
|
|
||||||
|
|
||||||
License: MIT
|
|
||||||
URL: http://pypi.python.org/pypi/django_compressor/%{version}
|
|
||||||
Source0: https://github.com/django-compressor/django-compressor/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
|
||||||
|
|
||||||
BuildArch: noarch
|
|
||||||
|
|
||||||
%global _description\
|
|
||||||
Django Compressor combines and compresses linked and inline Javascript\
|
Django Compressor combines and compresses linked and inline Javascript\
|
||||||
or CSS in a Django templates into cacheable static files by using the\
|
or CSS in a Django templates into cacheable static files by using the\
|
||||||
``compress`` template tag. HTML in between\
|
``compress`` template tag. HTML in between\
|
||||||
|
|
@ -18,136 +8,58 @@ or CSS in a Django templates into cacheable static files by using the\
|
||||||
parsed and searched for CSS or JS. These styles and scripts are subsequently\
|
parsed and searched for CSS or JS. These styles and scripts are subsequently\
|
||||||
processed with optional, configurable compilers and filters.
|
processed with optional, configurable compilers and filters.
|
||||||
|
|
||||||
%description %_description
|
# setuptools < 77.0.3
|
||||||
|
%if (%{defined fedora} && 0%{?fedora} <= 42) || (%{defined rhel} && 0%{?rhel} <= 10)
|
||||||
|
%bcond old_setuptools 1
|
||||||
|
%else
|
||||||
|
%bcond old_setuptools 0
|
||||||
|
%endif
|
||||||
|
|
||||||
%package -n python3-django-compressor
|
Name: python-django-compressor
|
||||||
Summary: Compresses linked and inline JavaScript or CSS into single cached files
|
Version: 4.6.0
|
||||||
Requires: python3-versiontools
|
Release: %autorelease
|
||||||
Requires: python3-django-appconf
|
Summary: Compresses linked and inline JavaScript or CSS into single cached files
|
||||||
Requires: python3-django
|
|
||||||
Requires: python3-rjsmin
|
|
||||||
Requires: python3-rcssmin
|
|
||||||
|
|
||||||
BuildRequires: python3-devel
|
License: MIT
|
||||||
BuildRequires: python3-setuptools
|
URL: https://github.com/django-compressor/django-compressor
|
||||||
|
Source0: %{pypi_source django_compressor}
|
||||||
|
# deleted in 4e543307 - migration to pyproject.toml
|
||||||
|
Source1: setup.py
|
||||||
|
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
|
||||||
|
%description %_desc
|
||||||
|
|
||||||
|
%package -n python3-%{srcname}
|
||||||
|
Summary: %{summary}
|
||||||
|
|
||||||
# Added in f28 cycle.
|
# Added in f28 cycle.
|
||||||
Obsoletes: python2-django-compressor < 2.1-6
|
Obsoletes: python2-%{srcname} < 2.1-6
|
||||||
Obsoletes: python-django-compressor < 2.1-6
|
Obsoletes: python-%{srcname} < 2.1-6
|
||||||
|
|
||||||
%description -n python3-django-compressor
|
|
||||||
Django Compressor combines and compresses linked and inline Javascript
|
|
||||||
or CSS in a Django templates into cacheable static files by using the
|
|
||||||
``compress`` template tag. HTML in between
|
|
||||||
``{% compress js/css %}`` and ``{% endcompress %}`` is
|
|
||||||
parsed and searched for CSS or JS. These styles and scripts are subsequently
|
|
||||||
processed with optional, configurable compilers and filters.
|
|
||||||
|
|
||||||
|
|
||||||
|
%description -n python3-%{srcname} %_desc
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n django-compressor-%{version}
|
%autosetup -p1 -n %{pypi_name}-%{version}
|
||||||
|
%if %{with old_setuptools}
|
||||||
|
rm pyproject.toml
|
||||||
|
cp -p %{SOURCE1} setup.py
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%generate_buildrequires
|
||||||
|
%pyproject_buildrequires
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%py3_build
|
%pyproject_wheel
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%py3_install
|
%pyproject_install
|
||||||
|
%pyproject_save_files compressor
|
||||||
|
|
||||||
|
%files -n python3-%{srcname} -f %{pyproject_files}
|
||||||
|
|
||||||
%files -n python3-django-compressor
|
|
||||||
%doc README.rst
|
%doc README.rst
|
||||||
%license LICENSE
|
|
||||||
%{python3_sitelib}/compressor
|
|
||||||
%{python3_sitelib}/%{pypi_name}-%{version}-py%{python3_version}.egg-info
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-6
|
%autochangelog
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.2-3
|
|
||||||
- Rebuilt for Python 3.7
|
|
||||||
|
|
||||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Jan 31 2018 Matthias Runge <mrunge@redhat.com> - 2.2-1
|
|
||||||
- update to 2.2
|
|
||||||
|
|
||||||
* Fri Jan 26 2018 Matthias Runge <mrunge@redhat.com> - 2.1-6
|
|
||||||
- Drop python2 package for https://fedoraproject.org/wiki/Changes/Django20
|
|
||||||
|
|
||||||
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1-5
|
|
||||||
- Python 2 binary package renamed to python2-django-compressor
|
|
||||||
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
|
||||||
|
|
||||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 2.1-2
|
|
||||||
- Rebuild for Python 3.6
|
|
||||||
|
|
||||||
* Thu Aug 11 2016 Matthias Runge <mrunge@redhat.com> - 2.1-1
|
|
||||||
- update to 2.1 (rhbz#1365700)
|
|
||||||
- modernize spec
|
|
||||||
|
|
||||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-2
|
|
||||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
|
||||||
|
|
||||||
* Fri Feb 26 2016 Matthias Runge <mrunge@redhat.com> - 2.0-1
|
|
||||||
- update to 2.0 (rhbz#1296716)
|
|
||||||
|
|
||||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.6-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Nov 20 2015 Matthias Runge <mrunge@redhat.com> - 1.6-1
|
|
||||||
- update to 1.6 (rhbz#1283807)
|
|
||||||
|
|
||||||
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
|
||||||
|
|
||||||
* Thu Aug 27 2015 Matthias Runge <mrunge@redhat.com> - 1.5-2
|
|
||||||
- add python3 subpackage
|
|
||||||
|
|
||||||
* Wed Aug 26 2015 Matthias Runge <mrunge@redhat.com> - 1.5-1
|
|
||||||
- update to 1.5
|
|
||||||
|
|
||||||
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Apr 15 2015 Matthias Runge <mrunge@redhat.com> - 1.4-3
|
|
||||||
- make compress command work on django-1.8
|
|
||||||
|
|
||||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon May 26 2014 Matthias Runge <mrunge@redhat.com> - 1.4-1
|
|
||||||
- update to 1.4 (rhbz#1100732)
|
|
||||||
|
|
||||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Mar 20 2013 Matthias Runge <mrunge@redhat.com> - 1.3-1
|
|
||||||
- update to python-django-compressor-1.3 (rhbz#923735)
|
|
||||||
|
|
||||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Sep 24 2012 Matthias Runge <mrunge@redhat.com> - 1.2-3
|
|
||||||
- add requirement Django/python-django
|
|
||||||
|
|
||||||
* Fri Sep 14 2012 Matthias Runge <mrunge@redhat.com> - 1.2-2
|
|
||||||
- add requirement python-versiontools
|
|
||||||
|
|
||||||
* Tue Sep 11 2012 Matthias Runge <mrunge@redhat.com> - 1.2-1
|
|
||||||
- Initial package.
|
|
||||||
|
|
|
||||||
172
setup.py
Normal file
172
setup.py
Normal file
|
|
@ -0,0 +1,172 @@
|
||||||
|
import ast
|
||||||
|
import codecs
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
from fnmatch import fnmatchcase
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
|
|
||||||
|
class VersionFinder(ast.NodeVisitor):
|
||||||
|
def __init__(self):
|
||||||
|
self.version = None
|
||||||
|
|
||||||
|
def visit_Assign(self, node):
|
||||||
|
if node.targets[0].id == "__version__":
|
||||||
|
self.version = node.value.value
|
||||||
|
|
||||||
|
|
||||||
|
def read(*parts):
|
||||||
|
filename = os.path.join(os.path.dirname(__file__), *parts)
|
||||||
|
with codecs.open(filename, encoding="utf-8") as fp:
|
||||||
|
return fp.read()
|
||||||
|
|
||||||
|
|
||||||
|
def find_version(*parts):
|
||||||
|
finder = VersionFinder()
|
||||||
|
finder.visit(ast.parse(read(*parts)))
|
||||||
|
return finder.version
|
||||||
|
|
||||||
|
|
||||||
|
# Provided as an attribute, so you can append to these instead
|
||||||
|
# of replicating them:
|
||||||
|
standard_exclude = ("*.py", "*.pyc", "*$py.class", "*~", ".*", "*.bak")
|
||||||
|
standard_exclude_directories = (
|
||||||
|
".*",
|
||||||
|
"CVS",
|
||||||
|
"_darcs",
|
||||||
|
"./build",
|
||||||
|
"./dist",
|
||||||
|
"EGG-INFO",
|
||||||
|
"*.egg-info",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# (c) 2005 Ian Bicking and contributors; written for Paste (http://pythonpaste.org)
|
||||||
|
# Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
|
||||||
|
# Note: you may want to copy this into your setup.py file verbatim, as
|
||||||
|
# you can't import this from another package, when you don't know if
|
||||||
|
# that package is installed yet.
|
||||||
|
def find_package_data(
|
||||||
|
where=".",
|
||||||
|
package="",
|
||||||
|
exclude=standard_exclude,
|
||||||
|
exclude_directories=standard_exclude_directories,
|
||||||
|
only_in_packages=True,
|
||||||
|
show_ignored=False,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Return a dictionary suitable for use in ``package_data``
|
||||||
|
in a distutils ``setup.py`` file.
|
||||||
|
|
||||||
|
The dictionary looks like::
|
||||||
|
|
||||||
|
{'package': [files]}
|
||||||
|
|
||||||
|
Where ``files`` is a list of all the files in that package that
|
||||||
|
don't match anything in ``exclude``.
|
||||||
|
|
||||||
|
If ``only_in_packages`` is true, then top-level directories that
|
||||||
|
are not packages won't be included (but directories under packages
|
||||||
|
will).
|
||||||
|
|
||||||
|
Directories matching any pattern in ``exclude_directories`` will
|
||||||
|
be ignored; by default directories with leading ``.``, ``CVS``,
|
||||||
|
and ``_darcs`` will be ignored.
|
||||||
|
|
||||||
|
If ``show_ignored`` is true, then all the files that aren't
|
||||||
|
included in package data are shown on stderr (for debugging
|
||||||
|
purposes).
|
||||||
|
|
||||||
|
Note patterns use wildcards, or can be exact paths (including
|
||||||
|
leading ``./``), and all searching is case-insensitive.
|
||||||
|
"""
|
||||||
|
|
||||||
|
out = {}
|
||||||
|
stack = [(str(Path(where)), "", package, only_in_packages)]
|
||||||
|
while stack:
|
||||||
|
where, prefix, package, only_in_packages = stack.pop(0)
|
||||||
|
for name in os.listdir(where):
|
||||||
|
fn = os.path.join(where, name)
|
||||||
|
if os.path.isdir(fn):
|
||||||
|
bad_name = False
|
||||||
|
for pattern in exclude_directories:
|
||||||
|
if fnmatchcase(name, pattern) or fn.lower() == pattern.lower():
|
||||||
|
bad_name = True
|
||||||
|
if show_ignored:
|
||||||
|
print(
|
||||||
|
"Directory %s ignored by pattern %s" % (fn, pattern),
|
||||||
|
file=sys.stderr,
|
||||||
|
)
|
||||||
|
break
|
||||||
|
if bad_name:
|
||||||
|
continue
|
||||||
|
if os.path.isfile(os.path.join(fn, "__init__.py")) and not prefix:
|
||||||
|
if not package:
|
||||||
|
new_package = name
|
||||||
|
else:
|
||||||
|
new_package = package + "." + name
|
||||||
|
stack.append((fn, "", new_package, False))
|
||||||
|
else:
|
||||||
|
stack.append((fn, prefix + name + "/", package, only_in_packages))
|
||||||
|
elif package or not only_in_packages:
|
||||||
|
# is a file
|
||||||
|
bad_name = False
|
||||||
|
for pattern in exclude:
|
||||||
|
if fnmatchcase(name, pattern) or fn.lower() == pattern.lower():
|
||||||
|
bad_name = True
|
||||||
|
if show_ignored:
|
||||||
|
print(
|
||||||
|
"File %s ignored by pattern %s" % (fn, pattern),
|
||||||
|
file=sys.stderr,
|
||||||
|
)
|
||||||
|
break
|
||||||
|
if bad_name:
|
||||||
|
continue
|
||||||
|
out.setdefault(package, []).append(prefix + name)
|
||||||
|
return out
|
||||||
|
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name="django_compressor",
|
||||||
|
version=find_version("compressor", "__init__.py"),
|
||||||
|
url="https://django-compressor.readthedocs.io/en/latest/",
|
||||||
|
project_urls={
|
||||||
|
"Source": "https://github.com/django-compressor/django-compressor",
|
||||||
|
},
|
||||||
|
license="MIT",
|
||||||
|
description=(
|
||||||
|
"Compresses linked and inline JavaScript or CSS into single cached files.",
|
||||||
|
),
|
||||||
|
long_description=read("README.rst"),
|
||||||
|
maintainer="Mathieu Pillard",
|
||||||
|
packages=find_packages(),
|
||||||
|
package_data=find_package_data(),
|
||||||
|
classifiers=[
|
||||||
|
"Development Status :: 5 - Production/Stable",
|
||||||
|
"Framework :: Django",
|
||||||
|
"Framework :: Django :: 4.2",
|
||||||
|
"Framework :: Django :: 5.0",
|
||||||
|
"Framework :: Django :: 5.1",
|
||||||
|
"Framework :: Django :: 5.2",
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Operating System :: OS Independent",
|
||||||
|
"Programming Language :: Python",
|
||||||
|
"Programming Language :: Python :: 3 :: Only",
|
||||||
|
"Programming Language :: Python :: 3.10",
|
||||||
|
"Programming Language :: Python :: 3.11",
|
||||||
|
"Programming Language :: Python :: 3.12",
|
||||||
|
"Programming Language :: Python :: 3.13",
|
||||||
|
"Topic :: Internet :: WWW/HTTP",
|
||||||
|
],
|
||||||
|
zip_safe=False,
|
||||||
|
python_requires=">=3.10",
|
||||||
|
install_requires=[
|
||||||
|
"Django >= 4.2",
|
||||||
|
"django-appconf >= 1.0.3",
|
||||||
|
"rcssmin >= 1.2.1",
|
||||||
|
"rjsmin >= 1.2.4",
|
||||||
|
],
|
||||||
|
)
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
SHA512 (python-django-compressor-2.2.tar.gz) = 323e74a56be95f7999595d625e5dac53977590e668113a5376f2e3ad86e7a1bc0827400551d3576233177d25302381e2e075651de0cfaebf94d29255a07b8a03
|
SHA512 (django_compressor-4.6.0.tar.gz) = 5bb5fc01b3beb022623b6409f710640eb51196349c0268c1d85239ce2c6a8889761c3efb16e9cc4e7b1d6bdd7f3a16ea8abf4ba9083a03500bcd10344457e0a2
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue