From 165044f3200e513426868ef032f508a21b2e88b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20C=2E=20Barrionuevo=20da=20Luz?= Date: Tue, 6 Sep 2016 08:56:22 -0300 Subject: [PATCH 01/13] test with django 1.10 --- tox.ini | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tox.ini b/tox.ini index 233a68f..e789c6a 100644 --- a/tox.ini +++ b/tox.ini @@ -4,12 +4,12 @@ envlist = docs, flake8, py26-{14,15,16}, - py27-{14,15,16,17,18,19}, + py27-{14,15,16,17,18,19,110}, py32-{15,16,17,18}, py33-{15,16,17,18}, - py34-{15,16,17,18,19}, - py35-{18,19}, - pypy-{14,15,16,17,18,19} + py34-{15,16,17,18,19,110}, + py35-{18,19,110}, + pypy-{14,15,16,17,18,19,110} [testenv] deps = @@ -19,6 +19,7 @@ deps = 17: Django >= 1.7, < 1.8 18: Django >= 1.8, < 1.9 19: Django >= 1.9, < 1.10 + 110: Django >= 1.10, < 1.11 -r{toxinidir}/requirements/tests.txt commands = python runtests.py From 57946e899330e5fe6d0d5a43eadee45954da708b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20C=2E=20Barrionuevo=20da=20Luz?= Date: Tue, 6 Sep 2016 08:59:01 -0300 Subject: [PATCH 02/13] test with django 1.10 on travis-ci --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index fe48f33..067be68 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ env: - TOXENV=py27-17 - TOXENV=py27-18 - TOXENV=py27-19 + - TOXENV=py27-110 # Disabling Python 3.2 tests for now as we have Problems with pip 8 on Travis # - TOXENV=py32-15 # - TOXENV=py32-16 @@ -25,14 +26,17 @@ env: - TOXENV=py34-17 - TOXENV=py34-18 - TOXENV=py34-19 + - TOXENV=py34-110 - TOXENV=py35-18 - TOXENV=py35-19 + - TOXENV=py35-110 - TOXENV=pypy-14 - TOXENV=pypy-15 - TOXENV=pypy-16 - TOXENV=pypy-17 - TOXENV=pypy-18 - TOXENV=pypy-19 + - TOXENV=pypy-110 - TOXENV=docs - TOXENV=flake8 before_install: From 384be1fa4c0fc66a13e5e07d6409e76ffb314f56 Mon Sep 17 00:00:00 2001 From: Raphael Gaschignard Date: Wed, 5 Apr 2017 18:34:39 +0900 Subject: [PATCH 03/13] Add support for Django 1.10 Django 1.10 support mostly relies on removing deprecated configurations from the 1.8/1.9 template system rewrite. --- floppyforms/__init__.py | 20 ++++++++++++++++++++ floppyforms/forms.py | 2 +- floppyforms/templatetags/floppyforms.py | 9 ++++++--- floppyforms/widgets.py | 2 +- tests/test_layouts.py | 12 +++++------- tox.ini | 1 + 6 files changed, 34 insertions(+), 12 deletions(-) diff --git a/floppyforms/__init__.py b/floppyforms/__init__.py index 939f588..f0b93bd 100644 --- a/floppyforms/__init__.py +++ b/floppyforms/__init__.py @@ -21,3 +21,23 @@ "Unable to import floppyforms.gis, geometry widgets not available") __version__ = '1.7.1.dev1' + + +def set_template_setting(key, value): + if django.VERSION < (1, 8): + settings_key = 'TEMPLATE_' + key + setattr(settings, settings_key, value) + else: + settings_key = key.lower() + template_settings = settings.TEMPLATES[0]['OPTIONS'] + template_settings[settings_key] = value + + +def get_template_setting(key, default=None): + if django.VERSION < (1, 8): + settings_key = 'TEMPLATE_' + key + return getattr(settings, settings_key, default) + else: + settings_key = key.lower() + template_settings = settings.TEMPLATES[0]['OPTIONS'] + return template_settings.get(settings_key, default) diff --git a/floppyforms/forms.py b/floppyforms/forms.py index f80f2e1..c0f1cb1 100644 --- a/floppyforms/forms.py +++ b/floppyforms/forms.py @@ -38,4 +38,4 @@ class BaseForm(LayoutRenderer, forms.BaseForm): class Form(LayoutRenderer, forms.Form): - pass + use_required_attribute = False diff --git a/floppyforms/templatetags/floppyforms.py b/floppyforms/templatetags/floppyforms.py index b4b223e..dc7b624 100644 --- a/floppyforms/templatetags/floppyforms.py +++ b/floppyforms/templatetags/floppyforms.py @@ -2,6 +2,9 @@ from contextlib import contextmanager from django.conf import settings + +from floppyforms import get_template_setting + try: from django.forms.utils import ErrorList except ImportError: @@ -336,7 +339,7 @@ def render(self, context): try: for_ = self.options['for'].resolve(context) except VariableDoesNotExist: - if settings.TEMPLATE_DEBUG: + if get_template_setting('DEBUG', settings.DEBUG): raise return '' filter = ConfigFilter(for_) @@ -344,7 +347,7 @@ def render(self, context): try: template_name = self.options['using'].resolve(context) except VariableDoesNotExist: - if settings.TEMPLATE_DEBUG: + if get_template_setting('DEBUG', settings.DEBUG): raise return '' config.configure(self.template_config_name, @@ -452,7 +455,7 @@ def get_nodelist(self, context, extra_context): template_name = self.get_template_name(context) return get_template(context, template_name) except: - if settings.TEMPLATE_DEBUG: + if get_template_setting('DEBUG', settings.DEBUG): raise def get_extra_context(self, context): diff --git a/floppyforms/widgets.py b/floppyforms/widgets.py index c890a6e..c8d04b5 100644 --- a/floppyforms/widgets.py +++ b/floppyforms/widgets.py @@ -89,7 +89,7 @@ def get_context(self, name, value, attrs=None): if value != '': # Only add the value if it is non-empty - context['value'] = self._format_value(value) + context['value'] = self.format_value(value) context.update(self.get_context_data()) context['attrs'] = self.build_attrs(attrs) diff --git a/tests/test_layouts.py b/tests/test_layouts.py index 1764858..1113553 100644 --- a/tests/test_layouts.py +++ b/tests/test_layouts.py @@ -1,5 +1,4 @@ import django -from django.conf import settings from django.core.exceptions import ValidationError from django.forms.formsets import formset_factory from django.template import Context, Template @@ -7,11 +6,10 @@ from django.utils.translation import ugettext_lazy as _ import floppyforms as forms - +from floppyforms import set_template_setting, get_template_setting from .base import InvalidVariable from .compat import unittest - skipIf = unittest.skipIf @@ -494,13 +492,13 @@ class TemplateStringIfInvalidTests(TestCase): Regression tests for issue #37. ''' def setUp(self): - self.original_TEMPLATE_STRING_IF_INVALID = settings.TEMPLATE_STRING_IF_INVALID + self.original_TEMPLATE_STRING_IF_INVALID = get_template_setting('STRING_IF_INVALID') def tearDown(self): - settings.TEMPLATE_STRING_IF_INVALID = self.original_TEMPLATE_STRING_IF_INVALID + set_template_setting('STRING_IF_INVALID', self.original_TEMPLATE_STRING_IF_INVALID) def test_none(self): - settings.TEMPLATE_STRING_IF_INVALID = None + set_template_setting('STRING_IF_INVALID', None) layout = OneFieldForm().as_p() self.assertHTMLEqual(layout, """ @@ -508,7 +506,7 @@ def test_none(self): """) def test_non_empty(self): - settings.TEMPLATE_STRING_IF_INVALID = InvalidVariable('INVALID') + set_template_setting('STRING_IF_INVALID', InvalidVariable('INVALID')) layout = OneFieldForm().as_p() self.assertHTMLEqual(layout, """ diff --git a/tox.ini b/tox.ini index 233a68f..451c7bf 100644 --- a/tox.ini +++ b/tox.ini @@ -19,6 +19,7 @@ deps = 17: Django >= 1.7, < 1.8 18: Django >= 1.8, < 1.9 19: Django >= 1.9, < 1.10 + 110: Django >= 1.10, < 1.11 -r{toxinidir}/requirements/tests.txt commands = python runtests.py From d72b07a4d709ce5aa08a60e5f0d29b53c94c88bc Mon Sep 17 00:00:00 2001 From: Raphael Gaschignard Date: Wed, 5 Apr 2017 19:13:59 +0900 Subject: [PATCH 04/13] opt for simple logic for the debug setting --- floppyforms/__init__.py | 20 ----------------- floppyforms/templatetags/floppyforms.py | 7 +++--- tests/test_layouts.py | 29 ++++++++++++++++++++----- 3 files changed, 27 insertions(+), 29 deletions(-) diff --git a/floppyforms/__init__.py b/floppyforms/__init__.py index f0b93bd..939f588 100644 --- a/floppyforms/__init__.py +++ b/floppyforms/__init__.py @@ -21,23 +21,3 @@ "Unable to import floppyforms.gis, geometry widgets not available") __version__ = '1.7.1.dev1' - - -def set_template_setting(key, value): - if django.VERSION < (1, 8): - settings_key = 'TEMPLATE_' + key - setattr(settings, settings_key, value) - else: - settings_key = key.lower() - template_settings = settings.TEMPLATES[0]['OPTIONS'] - template_settings[settings_key] = value - - -def get_template_setting(key, default=None): - if django.VERSION < (1, 8): - settings_key = 'TEMPLATE_' + key - return getattr(settings, settings_key, default) - else: - settings_key = key.lower() - template_settings = settings.TEMPLATES[0]['OPTIONS'] - return template_settings.get(settings_key, default) diff --git a/floppyforms/templatetags/floppyforms.py b/floppyforms/templatetags/floppyforms.py index dc7b624..d798935 100644 --- a/floppyforms/templatetags/floppyforms.py +++ b/floppyforms/templatetags/floppyforms.py @@ -3,7 +3,6 @@ from django.conf import settings -from floppyforms import get_template_setting try: from django.forms.utils import ErrorList @@ -339,7 +338,7 @@ def render(self, context): try: for_ = self.options['for'].resolve(context) except VariableDoesNotExist: - if get_template_setting('DEBUG', settings.DEBUG): + if settings.DEBUG: raise return '' filter = ConfigFilter(for_) @@ -347,7 +346,7 @@ def render(self, context): try: template_name = self.options['using'].resolve(context) except VariableDoesNotExist: - if get_template_setting('DEBUG', settings.DEBUG): + if settings.DEBUG: raise return '' config.configure(self.template_config_name, @@ -455,7 +454,7 @@ def get_nodelist(self, context, extra_context): template_name = self.get_template_name(context) return get_template(context, template_name) except: - if get_template_setting('DEBUG', settings.DEBUG): + if settings.DEBUG: raise def get_extra_context(self, context): diff --git a/tests/test_layouts.py b/tests/test_layouts.py index 1113553..7b47a38 100644 --- a/tests/test_layouts.py +++ b/tests/test_layouts.py @@ -1,4 +1,5 @@ import django +from django.conf import settings from django.core.exceptions import ValidationError from django.forms.formsets import formset_factory from django.template import Context, Template @@ -6,7 +7,6 @@ from django.utils.translation import ugettext_lazy as _ import floppyforms as forms -from floppyforms import set_template_setting, get_template_setting from .base import InvalidVariable from .compat import unittest @@ -492,13 +492,32 @@ class TemplateStringIfInvalidTests(TestCase): Regression tests for issue #37. ''' def setUp(self): - self.original_TEMPLATE_STRING_IF_INVALID = get_template_setting('STRING_IF_INVALID') + if django.VERSION < (1, 8): + self.original_TEMPLATE_STRING_IF_INVALID = settings.TEMPLATE_STRING_IF_INVALID + else: + self.original_TEMPLATES = settings.TEMPLATES def tearDown(self): - set_template_setting('STRING_IF_INVALID', self.original_TEMPLATE_STRING_IF_INVALID) + if django.VERSION < (1, 8): + settings.TEMPLATE_STRING_IF_INVALID = self.original_TEMPLATE_STRING_IF_INVALID + else: + settings.TEMPLATES = self.original_TEMPLATES + + def set_invalid_string(self, value): + if django.VERSION < (1, 8): + settings.TEMPLATE_STRING_IF_INVALID = value + else: + settings.TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'OPTIONS': { + 'string_if_invalid': value + } + } + ] def test_none(self): - set_template_setting('STRING_IF_INVALID', None) + self.set_invalid_string(None) layout = OneFieldForm().as_p() self.assertHTMLEqual(layout, """ @@ -506,7 +525,7 @@ def test_none(self): """) def test_non_empty(self): - set_template_setting('STRING_IF_INVALID', InvalidVariable('INVALID')) + self.set_invalid_string(InvalidVariable('INVALID')) layout = OneFieldForm().as_p() self.assertHTMLEqual(layout, """ From 8ee10a62d82fdaccd7113c191810b329cc665e79 Mon Sep 17 00:00:00 2001 From: Raphael Gaschignard Date: Thu, 6 Apr 2017 10:40:13 +0900 Subject: [PATCH 05/13] backport format_value --- floppyforms/widgets.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/floppyforms/widgets.py b/floppyforms/widgets.py index c8d04b5..18b78ce 100644 --- a/floppyforms/widgets.py +++ b/floppyforms/widgets.py @@ -45,6 +45,11 @@ class Widget(forms.Widget): def is_hidden(self): return self.input_type == 'hidden' if hasattr(self, 'input_type') else False + # Backported from Django 1.9 + if not hasattr(forms.Widget, 'format_value'): + def format_value(self, value): + return self._format_value(value) + class Input(Widget): template_name = 'floppyforms/input.html' From 9c8184a8b12c800503aa0dfa243c757bbaa49667 Mon Sep 17 00:00:00 2001 From: MrJmad Date: Mon, 12 Jun 2017 16:11:41 +0200 Subject: [PATCH 06/13] Add special requirements files for python 2.6 support --- requirements/py26tests.txt | 6 ++++++ tox.ini | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 requirements/py26tests.txt diff --git a/requirements/py26tests.txt b/requirements/py26tests.txt new file mode 100644 index 0000000..1b20f01 --- /dev/null +++ b/requirements/py26tests.txt @@ -0,0 +1,6 @@ +pip<8.0.0 +argparse +coverage<4.0 +flake8 +django-discover-runner +Pillow==3.4.2 diff --git a/tox.ini b/tox.ini index e789c6a..b1cd3dd 100644 --- a/tox.ini +++ b/tox.ini @@ -20,7 +20,8 @@ deps = 18: Django >= 1.8, < 1.9 19: Django >= 1.9, < 1.10 110: Django >= 1.10, < 1.11 - -r{toxinidir}/requirements/tests.txt + py26: -r{toxinidir}/requirements/py26tests.txt + py27,py32,py33,py34,py35,pypy: -r{toxinidir}/requirements/tests.txt commands = python runtests.py [testenv:docs] From 27e7066d0dd58edd23880cd37fd12ebbb431f99a Mon Sep 17 00:00:00 2001 From: MrJmad Date: Mon, 12 Jun 2017 16:31:35 +0200 Subject: [PATCH 07/13] Drop python 2.6. Travis don't support it anymore. --- .travis.yml | 6 +++--- requirements/py26tests.txt | 6 ------ tox.ini | 4 +--- 3 files changed, 4 insertions(+), 12 deletions(-) delete mode 100644 requirements/py26tests.txt diff --git a/.travis.yml b/.travis.yml index 067be68..4e74d72 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,9 @@ language: python python: 2.7 env: - - TOXENV=py26-14 - - TOXENV=py26-15 - - TOXENV=py26-16 +# - TOXENV=py26-14 +# - TOXENV=py26-15 +# - TOXENV=py26-16 - TOXENV=py27-14 - TOXENV=py27-15 - TOXENV=py27-16 diff --git a/requirements/py26tests.txt b/requirements/py26tests.txt deleted file mode 100644 index 1b20f01..0000000 --- a/requirements/py26tests.txt +++ /dev/null @@ -1,6 +0,0 @@ -pip<8.0.0 -argparse -coverage<4.0 -flake8 -django-discover-runner -Pillow==3.4.2 diff --git a/tox.ini b/tox.ini index b1cd3dd..c0c6566 100644 --- a/tox.ini +++ b/tox.ini @@ -3,7 +3,6 @@ minversion = 1.8 envlist = docs, flake8, - py26-{14,15,16}, py27-{14,15,16,17,18,19,110}, py32-{15,16,17,18}, py33-{15,16,17,18}, @@ -20,8 +19,7 @@ deps = 18: Django >= 1.8, < 1.9 19: Django >= 1.9, < 1.10 110: Django >= 1.10, < 1.11 - py26: -r{toxinidir}/requirements/py26tests.txt - py27,py32,py33,py34,py35,pypy: -r{toxinidir}/requirements/tests.txt + -r{toxinidir}/requirements/tests.txt commands = python runtests.py [testenv:docs] From 7870257b93bdab87275ea9b5df194c64287d1c30 Mon Sep 17 00:00:00 2001 From: MrJmad Date: Thu, 15 Jun 2017 17:18:22 +0200 Subject: [PATCH 08/13] Add support of the new way to define DEBUG value for Template Engine. --- floppyforms/templatetags/floppyforms.py | 77 ++++++++++++++++++++----- 1 file changed, 61 insertions(+), 16 deletions(-) diff --git a/floppyforms/templatetags/floppyforms.py b/floppyforms/templatetags/floppyforms.py index d798935..b873335 100644 --- a/floppyforms/templatetags/floppyforms.py +++ b/floppyforms/templatetags/floppyforms.py @@ -1,9 +1,9 @@ +import django from collections import defaultdict from contextlib import contextmanager from django.conf import settings - try: from django.forms.utils import ErrorList except ImportError: @@ -38,6 +38,49 @@ def is_bound_field(var): return all(hasattr(var, attr) for attr in significant_attributes) +def raise_or_not_variable_does_not_exist_compat_version(context): + """This function raise exception if template is in debug mode. If not, it return ''. + Multiples ways (depending to the Django version) to retrieve the value of template debug. + + :param context: context for the field. + :return: Either '' or raise Exception + """ + if django.VERSION < (1, 8): + if settings.TEMPLATE_DEBUG: + raise + else: + return '' + + if django.VERSION >= (1, 8) and django.VERSION < (1, 10): + from django.template.engine import Engine + template_debug_value = getattr(settings, 'TEMPLATE_DEBUG', None) + if template_debug_value: + raise + if not template_debug_value: + return '' + if template_debug_value is None: + try: + engine = context.template.engine + except AttributeError: + engine = Engine.get_default() + if engine.debug: + raise + return '' + + if django.VERSION >= (1, 10): + from django.template.engine import Engine + try: + engine = context.template.engine + except AttributeError: + engine = Engine.get_default() + if engine.debug: + raise + + return '' + + raise + + class ConfigFilter(object): """ Can be used as ``filter`` argument to ``FormConfig.configure()``. This @@ -338,17 +381,15 @@ def render(self, context): try: for_ = self.options['for'].resolve(context) except VariableDoesNotExist: - if settings.DEBUG: - raise - return '' + return raise_or_not_variable_does_not_exist_compat_version(context) + filter = ConfigFilter(for_) if self.options['using']: try: template_name = self.options['using'].resolve(context) except VariableDoesNotExist: - if settings.DEBUG: - raise - return '' + return raise_or_not_variable_does_not_exist_compat_version(context) + config.configure(self.template_config_name, template_name, filter=filter) if self.options['with']: @@ -454,8 +495,17 @@ def get_nodelist(self, context, extra_context): template_name = self.get_template_name(context) return get_template(context, template_name) except: - if settings.DEBUG: - raise + if django.VERSION < (1, 10): + if settings.DEBUG: + raise + else: + try: + engine = context.template.engine + except AttributeError: + if settings.DEBUG: + raise + if engine.debug: + raise def get_extra_context(self, context): variables = [] @@ -624,9 +674,7 @@ def render(self, context): try: bound_field = self.variables[0].resolve(context) except VariableDoesNotExist: - if settings.DEBUG: - raise - return '' + return raise_or_not_variable_does_not_exist_compat_version(context) widget = config.retrieve('widget', bound_field=bound_field) extra_context = self.get_extra_context(context) @@ -636,10 +684,7 @@ def render(self, context): try: template_name = self.options['using'].resolve(context) except VariableDoesNotExist: - if settings.DEBUG: - raise - return '' - + return raise_or_not_variable_does_not_exist_compat_version(context) if self.options['only']: context_instance = context.new(extra_context) else: From f2cef54bd080580695a56d11ede97d544e09800e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gregor=20M=C3=BCllegger?= Date: Sun, 6 Aug 2017 16:16:50 +0200 Subject: [PATCH 09/13] Add Django 1.10 support to trove classifiers in setup.py --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 8eb715d..1cd32e1 100644 --- a/setup.py +++ b/setup.py @@ -43,6 +43,7 @@ def find_version(*file_paths): 'Framework :: Django :: 1.7', 'Framework :: Django :: 1.8', 'Framework :: Django :: 1.9', + 'Framework :: Django :: 1.10', 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Natural Language :: English', From 7073c26a3bc903af4eca63c932f01f87351e1d1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gregor=20M=C3=BCllegger?= Date: Sun, 6 Aug 2017 16:25:23 +0200 Subject: [PATCH 10/13] Remove Python 2.6 and 3.2 support --- .travis.yml | 9 --------- docs/index.rst | 2 +- setup.py | 2 -- tox.ini | 1 - 4 files changed, 1 insertion(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4e74d72..e014845 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,6 @@ language: python python: 2.7 env: -# - TOXENV=py26-14 -# - TOXENV=py26-15 -# - TOXENV=py26-16 - TOXENV=py27-14 - TOXENV=py27-15 - TOXENV=py27-16 @@ -11,12 +8,6 @@ env: - TOXENV=py27-18 - TOXENV=py27-19 - TOXENV=py27-110 - # Disabling Python 3.2 tests for now as we have Problems with pip 8 on Travis - # - TOXENV=py32-15 - # - TOXENV=py32-16 - # - TOXENV=py32-17 - # - TOXENV=py32-18 - # - TOXENV=py32-18 - TOXENV=py33-15 - TOXENV=py33-16 - TOXENV=py33-17 diff --git a/docs/index.rst b/docs/index.rst index 2e66eb8..231baa9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -29,7 +29,7 @@ Installation ------------ As a requirement of django-floppyforms, you will need to have Django in -version 1.4 or higher installed and use Python 2.6 or newer. Python 3 and +version 1.4 or higher installed and use Python 2.7 or newer. Python >=3.3 and PyPy are supported! Two-step process to install django-floppyforms: diff --git a/setup.py b/setup.py index 1cd32e1..eaab96b 100644 --- a/setup.py +++ b/setup.py @@ -49,10 +49,8 @@ def find_version(*file_paths): 'Natural Language :: English', 'Programming Language :: Python', 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.2', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', ], diff --git a/tox.ini b/tox.ini index c0c6566..9fa3ed8 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,6 @@ envlist = docs, flake8, py27-{14,15,16,17,18,19,110}, - py32-{15,16,17,18}, py33-{15,16,17,18}, py34-{15,16,17,18,19,110}, py35-{18,19,110}, From 33573c694d3163a9d0eabdab76c19518c4a3914d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gregor=20M=C3=BCllegger?= Date: Sun, 6 Aug 2017 16:25:50 +0200 Subject: [PATCH 11/13] Add Python 3.5 to trove classifier --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index eaab96b..9adbc89 100644 --- a/setup.py +++ b/setup.py @@ -53,6 +53,7 @@ def find_version(*file_paths): 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', ], zip_safe=False, ) From 3db351db4d18f3d4da4f2e8f420ebe0040368abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gregor=20M=C3=BCllegger?= Date: Sun, 6 Aug 2017 16:33:30 +0200 Subject: [PATCH 12/13] Mention Python support updates in changelog --- CHANGES.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index d71c8eb..6ec8eab 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,8 +5,10 @@ Changelog ~~~~~~~~~~~~~~~~~~~~~~ * `#176`_: Fix HTML validation for hidden textarea used with GIS widgets. +* `#194`_: Remove official support for Python 2.6 and Python 3.2. .. _#176: https://github.com/gregmuellegger/django-floppyforms/issues/176 +.. _#194: https://github.com/gregmuellegger/django-floppyforms/pull/194 1.7.0 ~~~~~ From 92fbcafc88d77a1dc05c10383151d15126dd2d87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gregor=20M=C3=BCllegger?= Date: Sun, 6 Aug 2017 16:33:52 +0200 Subject: [PATCH 13/13] Mention Django 1.10 in changelog --- CHANGES.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 6ec8eab..c89a42d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,9 +5,11 @@ Changelog ~~~~~~~~~~~~~~~~~~~~~~ * `#176`_: Fix HTML validation for hidden textarea used with GIS widgets. +* `#191`_: Support for Django 1.10. Thanks to MrJmad for the patch. * `#194`_: Remove official support for Python 2.6 and Python 3.2. .. _#176: https://github.com/gregmuellegger/django-floppyforms/issues/176 +.. _#191: https://github.com/gregmuellegger/django-floppyforms/pull/191 .. _#194: https://github.com/gregmuellegger/django-floppyforms/pull/194 1.7.0