diff -Nru django-floppyforms-1.5.2+dfsg/CHANGES.rst django-floppyforms-1.6.0+dfsg/CHANGES.rst --- django-floppyforms-1.5.2+dfsg/CHANGES.rst 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/CHANGES.rst 2015-12-03 21:52:22.000000000 +0000 @@ -1,6 +1,13 @@ Changelog --------- +1.6.0 +~~~~~ + +* `#160`_: Django 1.9 support! Thanks to Jonas Haag for the patch. + +.. _#160: https://github.com/gregmuellegger/django-floppyforms/pull/160 + 1.5.2 ~~~~~ @@ -124,7 +131,7 @@ class Meta: model = Profile - This feature will become the default behaviour in floppyforms 1.6. + This feature will become the default behaviour in floppyforms 2.0. See the documentation for more information: http://django-floppyforms.readthedocs.org/en/latest/usage.html#modelforms diff -Nru django-floppyforms-1.5.2+dfsg/debian/changelog django-floppyforms-1.6.0+dfsg/debian/changelog --- django-floppyforms-1.5.2+dfsg/debian/changelog 2015-08-12 09:48:36.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/debian/changelog 2015-12-05 17:50:22.000000000 +0000 @@ -1,3 +1,17 @@ +django-floppyforms (1.6.0+dfsg-1) unstable; urgency=low + + [ Michael Fladischer ] + * New upstream release. + * Add python(3)-gdal to Build-Depends as they are now required by some + tests. + * Clean additional files django_floppyforms.egg-info/. + + [ SVN-Git Migration ] + * git-dpm config + * Update Vcs fields for git migration + + -- Michael Fladischer Sat, 05 Dec 2015 18:49:26 +0100 + django-floppyforms (1.5.2+dfsg-1) unstable; urgency=low * New upstream release. diff -Nru django-floppyforms-1.5.2+dfsg/debian/clean django-floppyforms-1.6.0+dfsg/debian/clean --- django-floppyforms-1.5.2+dfsg/debian/clean 2012-05-06 17:12:34.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/debian/clean 2015-12-05 17:50:22.000000000 +0000 @@ -1,2 +1,6 @@ django_floppyforms.egg-info/PKG-INFO django_floppyforms.egg-info/SOURCES.txt +django_floppyforms.egg-info/dependency_links.txt +django_floppyforms.egg-info/not-zip-safe +django_floppyforms.egg-info/top_level.txt + diff -Nru django-floppyforms-1.5.2+dfsg/debian/control django-floppyforms-1.6.0+dfsg/debian/control --- django-floppyforms-1.5.2+dfsg/debian/control 2015-08-12 09:37:10.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/debian/control 2015-12-05 17:50:22.000000000 +0000 @@ -10,20 +10,22 @@ python-coverage, python-django, python-django (>= 1.6) | python-django-discover-runner, + python-gdal, python-pil, python-setuptools, python-sphinx (>= 1.0.7+dfsg-1~), python3-all, python3-coverage, python3-django, + python3-gdal, python3-pil, python3-setuptools Standards-Version: 3.9.6 X-Python-Version: >= 2.6 X-Python3-Version: >= 3.0 Homepage: https://github.com/brutasse/django-floppyforms -Vcs-Svn: svn://anonscm.debian.org/python-modules/packages/django-floppyforms/trunk/ -Vcs-Browser: http://anonscm.debian.org/viewvc/python-modules/packages/django-floppyforms/trunk/ +Vcs-Git: git://anonscm.debian.org/python-modules/packages/django-floppyforms.git +Vcs-Browser: https://anonscm.debian.org/cgit/python-modules/packages/django-floppyforms.git Package: python-django-floppyforms Architecture: all diff -Nru django-floppyforms-1.5.2+dfsg/debian/.git-dpm django-floppyforms-1.6.0+dfsg/debian/.git-dpm --- django-floppyforms-1.5.2+dfsg/debian/.git-dpm 1970-01-01 00:00:00.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/debian/.git-dpm 2015-12-05 17:50:22.000000000 +0000 @@ -0,0 +1,11 @@ +# see git-dpm(1) from git-dpm package +1a058001ef9348387831dee191443d2defdd2a93 +1a058001ef9348387831dee191443d2defdd2a93 +1a058001ef9348387831dee191443d2defdd2a93 +1a058001ef9348387831dee191443d2defdd2a93 +django-floppyforms_1.6.0+dfsg.orig.tar.gz +f8171a9115d875f331e99c442df7e6e6c7360305 +1139536 +debianTag="debian/%e%v" +patchedTag="patched/%e%v" +upstreamTag="upstream/%e%u" diff -Nru django-floppyforms-1.5.2+dfsg/floppyforms/compat.py django-floppyforms-1.6.0+dfsg/floppyforms/compat.py --- django-floppyforms-1.5.2+dfsg/floppyforms/compat.py 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/floppyforms/compat.py 2015-12-03 21:52:22.000000000 +0000 @@ -3,6 +3,14 @@ import django from django.template import Context +try: + from django.utils.datastructures import MultiValueDict, MergeDict + MULTIVALUE_DICT_TYPES = (MultiValueDict, MergeDict) +except ImportError: + # Django >= 1.9 + from django.utils.datastructures import MultiValueDict + MULTIVALUE_DICT_TYPES = (MultiValueDict,) + REQUIRED_CONTEXT_ATTRIBTUES = ( '_form_config', diff -Nru django-floppyforms-1.5.2+dfsg/floppyforms/fields.py django-floppyforms-1.6.0+dfsg/floppyforms/fields.py --- django-floppyforms-1.5.2+dfsg/floppyforms/fields.py 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/floppyforms/fields.py 2015-12-03 21:52:22.000000000 +0000 @@ -1,3 +1,4 @@ +import django from django import forms import decimal @@ -12,11 +13,13 @@ 'Field', 'CharField', 'IntegerField', 'DateField', 'TimeField', 'DateTimeField', 'EmailField', 'FileField', 'ImageField', 'URLField', 'BooleanField', 'NullBooleanField', 'ChoiceField', 'MultipleChoiceField', - 'FloatField', 'DecimalField', 'SlugField', 'RegexField', 'IPAddressField', + 'FloatField', 'DecimalField', 'SlugField', 'RegexField', 'GenericIPAddressField', 'TypedChoiceField', 'FilePathField', 'TypedMultipleChoiceField', 'ComboField', 'MultiValueField', 'SplitDateTimeField', ) +if django.VERSION < (1, 9): + __all__ += ('IPAddressField',) class Field(forms.Field): @@ -163,8 +166,9 @@ return attrs -class IPAddressField(Field, forms.IPAddressField): - widget = IPAddressInput +if django.VERSION < (1, 9): + class IPAddressField(Field, forms.IPAddressField): + widget = IPAddressInput class GenericIPAddressField(Field, forms.GenericIPAddressField): diff -Nru django-floppyforms-1.5.2+dfsg/floppyforms/__future__/models.py django-floppyforms-1.6.0+dfsg/floppyforms/__future__/models.py --- django-floppyforms-1.5.2+dfsg/floppyforms/__future__/models.py 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/floppyforms/__future__/models.py 2015-12-03 21:52:22.000000000 +0000 @@ -7,8 +7,10 @@ modelformset_factory as _modelformset_factory, inlineformset_factory as _inlineformset_factory, model_to_dict, fields_for_model, BaseModelForm, - save_instance, BaseModelFormSet, + BaseModelFormSet, BaseInlineFormSet) +if django.VERSION < (1, 9): + from django.forms.models import save_instance from django.utils import six from floppyforms import fields @@ -19,10 +21,12 @@ __all__ = ( 'ModelForm', 'BaseModelForm', 'model_to_dict', 'fields_for_model', - 'save_instance', 'ModelChoiceField', 'ModelMultipleChoiceField', + 'ModelChoiceField', 'ModelMultipleChoiceField', 'BaseModelFormSet', 'modelformset_factory', 'BaseInlineFormSet', 'inlineformset_factory', ) +if django.VERSION < (1, 9): + __all__ += ('save_instance',) if django.VERSION > (1, 7): @@ -43,7 +47,6 @@ db_models.FloatField: {'form_class': fields.FloatField}, db_models.IntegerField: {'form_class': fields.IntegerField}, db_models.BigIntegerField: {'form_class': fields.IntegerField}, - db_models.IPAddressField: {'form_class': fields.IPAddressField}, db_models.GenericIPAddressField: {'form_class': fields.GenericIPAddressField}, db_models.NullBooleanField: {'form_class': fields.NullBooleanField}, db_models.PositiveIntegerField: {'form_class': fields.IntegerField}, @@ -62,6 +65,8 @@ db_models.ManyToManyField: {'form_class': ModelMultipleChoiceField}, db_models.OneToOneField: {'form_class': ModelChoiceField}, } +if django.VERSION < (1, 9): + FORMFIELD_OVERRIDES[db_models.IPAddressField] = {'form_class': fields.IPAddressField} for value in FORMFIELD_OVERRIDES.values(): value['choices_form_class'] = fields.TypedChoiceField diff -Nru django-floppyforms-1.5.2+dfsg/floppyforms/gis/widgets.py django-floppyforms-1.6.0+dfsg/floppyforms/gis/widgets.py --- django-floppyforms-1.5.2+dfsg/floppyforms/gis/widgets.py 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/floppyforms/gis/widgets.py 2015-12-03 21:52:22.000000000 +0000 @@ -167,5 +167,5 @@ js = ( 'floppyforms/openlayers/OpenLayers.js', 'floppyforms/js/MapWidget.js', - 'https://maps.google.com/maps/api/js?sensor=false', + 'https://maps.google.com/maps/api/js?v=3&sensor=false', ) diff -Nru django-floppyforms-1.5.2+dfsg/floppyforms/__init__.py django-floppyforms-1.6.0+dfsg/floppyforms/__init__.py --- django-floppyforms-1.5.2+dfsg/floppyforms/__init__.py 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/floppyforms/__init__.py 2015-12-03 21:52:22.000000000 +0000 @@ -1,7 +1,6 @@ # flake8: noqa from django.forms import (BaseModelForm, model_to_dict, fields_for_model, - save_instance, ValidationError, Media, - MediaDefiningClass) + ValidationError, Media, MediaDefiningClass) from .fields import * from .forms import * @@ -9,10 +8,16 @@ from .widgets import * try: + # Django < 1.9 + from django.forms import save_instance +except ImportError: + pass + +try: from . import gis except Exception: import warnings warnings.warn( "Unable to import floppyforms.gis, geometry widgets not available") -__version__ = '1.5.2' +__version__ = '1.6.0' diff -Nru django-floppyforms-1.5.2+dfsg/floppyforms/models.py django-floppyforms-1.6.0+dfsg/floppyforms/models.py --- django-floppyforms-1.5.2+dfsg/floppyforms/models.py 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/floppyforms/models.py 2015-12-03 21:52:22.000000000 +0000 @@ -14,7 +14,7 @@ url = 'https://github.com/gregmuellegger/django-floppyforms/tree/1.2.0/CHANGES.rst' warnings.warn( 'The behaviour of subclasses of floppyforms.models.ModelForm will ' - 'change with django-floppyforms 1.6. ' + 'change with django-floppyforms 2.0. ' 'Use `import floppyforms.__future__ as forms` instead of ' '`import floppyforms as forms` to use the new behaviour now. ' 'See announcement here: %s' % url, diff -Nru django-floppyforms-1.5.2+dfsg/floppyforms/widgets.py django-floppyforms-1.6.0+dfsg/floppyforms/widgets.py --- django-floppyforms-1.5.2+dfsg/floppyforms/widgets.py 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/floppyforms/widgets.py 2015-12-03 21:52:22.000000000 +0000 @@ -12,7 +12,6 @@ from django.forms.widgets import FILE_INPUT_CONTRADICTION from django.conf import settings from django.template import loader -from django.utils.datastructures import MultiValueDict, MergeDict from django.utils.html import conditional_escape from django.utils.translation import ugettext_lazy as _ from django.utils import datetime_safe, formats, six @@ -20,7 +19,7 @@ from django.utils.encoding import force_text from django.utils.safestring import mark_safe -from .compat import flatten_contexts +from .compat import MULTIVALUE_DICT_TYPES, flatten_contexts RE_DATE = re.compile(r'(\d{4})-(\d\d?)-(\d\d?)$') @@ -168,7 +167,7 @@ return mark_safe("\n".join(inputs)) def value_from_datadict(self, data, files, name): - if isinstance(data, (MultiValueDict, MergeDict)): + if isinstance(data, MULTIVALUE_DICT_TYPES): return data.getlist(name) return data.get(name, None) @@ -283,6 +282,9 @@ def __init__(self, attrs=None, format=None): super(DateInput, self).__init__(attrs) + # We hardcode the format here as the HTML5 input type="date" only + # accepts the ISO date format. See issue #115 for details: + # https://github.com/gregmuellegger/django-floppyforms/issues/115 self.format = '%Y-%m-%d' def _format_value(self, value): @@ -549,7 +551,7 @@ return [force_text(v) for v in value] def value_from_datadict(self, data, files, name): - if isinstance(data, (MultiValueDict, MergeDict)): + if isinstance(data, MULTIVALUE_DICT_TYPES): return data.getlist(name) return data.get(name, None) diff -Nru django-floppyforms-1.5.2+dfsg/README.rst django-floppyforms-1.6.0+dfsg/README.rst --- django-floppyforms-1.5.2+dfsg/README.rst 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/README.rst 2015-12-03 21:52:22.000000000 +0000 @@ -27,9 +27,9 @@ .. _read it on readthedocs: http://django-floppyforms.readthedocs.org/ To install the `in-development version`_ of django-floppyforms, run ``pip -install django-floppyforms==dev``. +install "https://github.com/gregmuellegger/django-floppyforms/tarball/master#egg=django-floppyforms"``. -.. _in-development version: https://github.com/gregmuellegger/django-floppyforms/tarball/master#egg=django-floppyforms-dev +.. _in-development version: https://github.com/gregmuellegger/django-floppyforms Help ---- diff -Nru django-floppyforms-1.5.2+dfsg/requirements/tests.txt django-floppyforms-1.6.0+dfsg/requirements/tests.txt --- django-floppyforms-1.5.2+dfsg/requirements/tests.txt 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/requirements/tests.txt 2015-12-03 21:52:22.000000000 +0000 @@ -1,5 +1,5 @@ argparse -coverage +coverage<4.0 flake8 django-discover-runner Pillow diff -Nru django-floppyforms-1.5.2+dfsg/setup.py django-floppyforms-1.6.0+dfsg/setup.py --- django-floppyforms-1.5.2+dfsg/setup.py 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/setup.py 2015-12-03 21:52:22.000000000 +0000 @@ -42,6 +42,7 @@ 'Framework :: Django :: 1.6', 'Framework :: Django :: 1.7', 'Framework :: Django :: 1.8', + 'Framework :: Django :: 1.9', 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Natural Language :: English', diff -Nru django-floppyforms-1.5.2+dfsg/tox.ini django-floppyforms-1.6.0+dfsg/tox.ini --- django-floppyforms-1.5.2+dfsg/tox.ini 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/tox.ini 2015-12-03 21:52:22.000000000 +0000 @@ -4,11 +4,12 @@ docs, flake8, py26-{14,15,16}, - py27-{14,15,16,17,18}, + py27-{14,15,16,17,18,19}, py32-{15,16,17,18}, py33-{15,16,17,18}, - py34-{15,16,17,18}, - pypy-{14,15,16,17,18} + py34-{15,16,17,18,19}, + # py35-{19}, + pypy-{14,15,16,17,18,19} [testenv] deps = @@ -17,6 +18,7 @@ 16: Django >= 1.6, < 1.7 17: Django >= 1.7, < 1.8 18: Django >= 1.8, < 1.9 + 19: https://github.com/django/django/tarball/stable/1.9.x -r{toxinidir}/requirements/tests.txt commands = python runtests.py diff -Nru django-floppyforms-1.5.2+dfsg/.travis.yml django-floppyforms-1.6.0+dfsg/.travis.yml --- django-floppyforms-1.5.2+dfsg/.travis.yml 2015-07-30 11:09:57.000000000 +0000 +++ django-floppyforms-1.6.0+dfsg/.travis.yml 2015-12-03 21:52:22.000000000 +0000 @@ -9,10 +9,12 @@ - TOXENV=py27-16 - TOXENV=py27-17 - TOXENV=py27-18 + - TOXENV=py27-19 - TOXENV=py32-15 - TOXENV=py32-16 - TOXENV=py32-17 - TOXENV=py32-18 + - TOXENV=py32-18 - TOXENV=py33-15 - TOXENV=py33-16 - TOXENV=py33-17 @@ -21,11 +23,13 @@ - TOXENV=py34-16 - TOXENV=py34-17 - TOXENV=py34-18 + - TOXENV=py34-19 - TOXENV=pypy-14 - TOXENV=pypy-15 - TOXENV=pypy-16 - TOXENV=pypy-17 - TOXENV=pypy-18 + - TOXENV=pypy-19 - TOXENV=docs - TOXENV=flake8 before_install: