[Python-modules-commits] [django-floppyforms] 01/05: Import django-floppyforms_1.6.0+dfsg.orig.tar.gz

Michael Fladischer fladi at moszumanska.debian.org
Sat Dec 5 19:28:35 UTC 2015


This is an automated email from the git hooks/post-receive script.

fladi pushed a commit to branch master
in repository django-floppyforms.

commit 1a058001ef9348387831dee191443d2defdd2a93
Author: Michael Fladischer <FladischerMichael at fladi.at>
Date:   Sat Dec 5 18:23:50 2015 +0100

    Import django-floppyforms_1.6.0+dfsg.orig.tar.gz
---
 .travis.yml                      |  4 ++++
 CHANGES.rst                      |  9 ++++++++-
 README.rst                       |  4 ++--
 floppyforms/__future__/models.py | 11 ++++++++---
 floppyforms/__init__.py          | 11 ++++++++---
 floppyforms/compat.py            |  8 ++++++++
 floppyforms/fields.py            | 10 +++++++---
 floppyforms/gis/widgets.py       |  2 +-
 floppyforms/models.py            |  2 +-
 floppyforms/widgets.py           | 10 ++++++----
 requirements/tests.txt           |  2 +-
 setup.py                         |  1 +
 tox.ini                          |  8 +++++---
 13 files changed, 60 insertions(+), 22 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index c24881d..d44783b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,10 +9,12 @@ env:
   - 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 @@ env:
   - 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:
diff --git a/CHANGES.rst b/CHANGES.rst
index 99a601b..ffec2f0 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -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 @@ Changelog
         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 --git a/README.rst b/README.rst
index 57c1594..d1f4d54 100644
--- a/README.rst
+++ b/README.rst
@@ -27,9 +27,9 @@ readthedocs`_
 .. _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 --git a/floppyforms/__future__/models.py b/floppyforms/__future__/models.py
index 82bdb89..4c1b155 100644
--- a/floppyforms/__future__/models.py
+++ b/floppyforms/__future__/models.py
@@ -7,8 +7,10 @@ from django.forms.models import (ModelForm as _ModelForm,
                                  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 @@ from floppyforms.widgets import Textarea
 
 __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 @@ FORMFIELD_OVERRIDES = {
     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 @@ FORMFIELD_OVERRIDES = {
     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 --git a/floppyforms/__init__.py b/floppyforms/__init__.py
index 096be56..f774ae3 100644
--- a/floppyforms/__init__.py
+++ b/floppyforms/__init__.py
@@ -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 .models import *
 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 --git a/floppyforms/compat.py b/floppyforms/compat.py
index 9b83468..bc76741 100644
--- a/floppyforms/compat.py
+++ b/floppyforms/compat.py
@@ -3,6 +3,14 @@ from contextlib import contextmanager
 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 --git a/floppyforms/fields.py b/floppyforms/fields.py
index 00dfaf7..8f9caca 100644
--- a/floppyforms/fields.py
+++ b/floppyforms/fields.py
@@ -1,3 +1,4 @@
+import django
 from django import forms
 import decimal
 
@@ -12,11 +13,13 @@ __all__ = (
     '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 @@ class RegexField(Field, forms.RegexField):
         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 --git a/floppyforms/gis/widgets.py b/floppyforms/gis/widgets.py
index e967a3e..d9754d9 100644
--- a/floppyforms/gis/widgets.py
+++ b/floppyforms/gis/widgets.py
@@ -167,5 +167,5 @@ class BaseGMapWidget(BaseGeometryWidget):
         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 --git a/floppyforms/models.py b/floppyforms/models.py
index 3e9ef49..05ee8b2 100644
--- a/floppyforms/models.py
+++ b/floppyforms/models.py
@@ -14,7 +14,7 @@ class ModelForm(LayoutRenderer, models.ModelForm):
         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 --git a/floppyforms/widgets.py b/floppyforms/widgets.py
index 4edd05f..f78d124 100644
--- a/floppyforms/widgets.py
+++ b/floppyforms/widgets.py
@@ -12,7 +12,6 @@ except ImportError:
 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.dates import MONTHS
 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 @@ class MultipleHiddenInput(HiddenInput):
         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 @@ class DateInput(Input):
 
     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 @@ class SelectMultiple(Select):
         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 --git a/requirements/tests.txt b/requirements/tests.txt
index 577586c..ceab467 100644
--- a/requirements/tests.txt
+++ b/requirements/tests.txt
@@ -1,5 +1,5 @@
 argparse
-coverage
+coverage<4.0
 flake8
 django-discover-runner
 Pillow
diff --git a/setup.py b/setup.py
index 8dffae4..8eb715d 100644
--- a/setup.py
+++ b/setup.py
@@ -42,6 +42,7 @@ setup(
         '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 --git a/tox.ini b/tox.ini
index 841dc71..2a6b979 100644
--- a/tox.ini
+++ b/tox.ini
@@ -4,11 +4,12 @@ envlist =
     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 @@ deps =
     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
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/django-floppyforms.git



More information about the Python-modules-commits mailing list