summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2011-06-28 10:17:23 +0000
committerJannis Leidel <jannis@leidel.info>2011-06-28 10:17:23 +0000
commitf801e2c15dee8bf711bcccc932ef9f0ca89a0e8b (patch)
tree3c5b723b6697c32f5c98b4121b2515e30a5da1f1
parent54552ee29f5e24f6aefead31b7097252490c05f3 (diff)
Fixed #12761 -- Added Paraguayan local flavor. Thanks, dschulz and BernhardEssl.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16477 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/contrib/localflavor/py/__init__.py0
-rw-r--r--django/contrib/localflavor/py/forms.py21
-rw-r--r--django/contrib/localflavor/py/py_department.py45
-rw-r--r--docs/ref/contrib/localflavor.txt15
-rw-r--r--tests/regressiontests/forms/localflavor/py.py53
-rw-r--r--tests/regressiontests/forms/localflavortests.py1
-rw-r--r--tests/regressiontests/forms/tests/__init__.py1
7 files changed, 136 insertions, 0 deletions
diff --git a/django/contrib/localflavor/py/__init__.py b/django/contrib/localflavor/py/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/django/contrib/localflavor/py/__init__.py
diff --git a/django/contrib/localflavor/py/forms.py b/django/contrib/localflavor/py/forms.py
new file mode 100644
index 0000000000..85ddffd82f
--- /dev/null
+++ b/django/contrib/localflavor/py/forms.py
@@ -0,0 +1,21 @@
+"""
+PY-specific Form helpers.
+"""
+from django.forms.fields import Select
+
+class PyDepartmentSelect(Select):
+ """
+ A Select widget with a list of Paraguayan departments as choices.
+ """
+ def __init__(self, attrs=None):
+ from py_department import DEPARTMENT_CHOICES
+ super(PyDepartmentSelect, self).__init__(attrs, choices=DEPARTMENT_CHOICES)
+
+
+class PyNumberedDepartmentSelect(Select):
+ """
+ A Select widget with a roman numbered list of Paraguayan departments as choices.
+ """
+ def __init__(self, attrs=None):
+ from py_department import DEPARTMENT_ROMAN_CHOICES
+ super(PyNumberedDepartmentSelect, self).__init__(attrs, choices=DEPARTMENT_ROMAN_CHOICES)
diff --git a/django/contrib/localflavor/py/py_department.py b/django/contrib/localflavor/py/py_department.py
new file mode 100644
index 0000000000..28c613b9a0
--- /dev/null
+++ b/django/contrib/localflavor/py/py_department.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+
+# http://www.statoids.com/upy.html
+
+DEPARTMENT_CHOICES = (
+ ('AG', u'Alto Paraguay'),
+ ('AA', u'Alto Paraná'),
+ ('AM', u'Amambay'),
+ ('AS', u'Asunción'),
+ ('BQ', u'Boquerón'),
+ ('CG', u'Caaguazú'),
+ ('CZ', u'Caazapá'),
+ ('CY', u'Canindeyú'),
+ ('CE', u'Central'),
+ ('CN', u'Concepción'),
+ ('CR', u'Cordillera'),
+ ('GU', u'Guairá'),
+ ('IT', u'Itapúa'),
+ ('MI', u'Misiones'),
+ ('NE', u'Ñeembucú'),
+ ('PG', u'Paraguarí'),
+ ('PH', u'Pdte. Hayes'),
+ ('SP', u'San Pedro'),
+)
+
+DEPARTMENT_ROMAN_CHOICES = (
+ ('CN', u'I Concepción'),
+ ('SP', u'II San Pedro'),
+ ('CR', u'III Cordillera'),
+ ('GU', u'IV Guairá'),
+ ('CG', u'V Caaguazú'),
+ ('CZ', u'VI Caazapá'),
+ ('IT', u'VII Itapúa'),
+ ('MI', u'VIII Misiones'),
+ ('PG', u'IX Paraguarí'),
+ ('AA', u'X Alto Paraná'),
+ ('CE', u'XI Central'),
+ ('NE', u'XII Ñeembucú'),
+ ('AM', u'XIII Amambay'),
+ ('CY', u'XIV Canindeyú'),
+ ('PH', u'XV Pdte. Hayes'),
+ ('AG', u'XVI Alto Paraguay'),
+ ('BQ', u'XVII Boquerón'),
+ ('AS', u'XVIII Asunción'),
+)
diff --git a/docs/ref/contrib/localflavor.txt b/docs/ref/contrib/localflavor.txt
index 1e565a58b1..3ad5899239 100644
--- a/docs/ref/contrib/localflavor.txt
+++ b/docs/ref/contrib/localflavor.txt
@@ -64,6 +64,7 @@ Countries currently supported by :mod:`~django.contrib.localflavor` are:
* Peru_
* Poland_
* Portugal_
+ * Paraguay_
* Romania_
* Russia_
* Slovakia_
@@ -114,6 +115,7 @@ Here's an example of how to use them::
.. _Macedonia: `Macedonia (mk)`_
.. _Mexico: `Mexico (mx)`_
.. _Norway: `Norway (no)`_
+.. _Paraguay: `Paraguay (py)`_
.. _Peru: `Peru (pe)`_
.. _Poland: `Poland (pl)`_
.. _Portugal: `Portugal (pt)`_
@@ -784,6 +786,19 @@ Norway (``no``)
A ``Select`` widget that uses a list of Norwegian municipalities (fylker) as
its choices.
+Paraguay (``py``)
+=================
+
+.. versionadded:: 1.4
+
+.. class:: py.forms.PyDepartmentSelect
+
+ A ``Select`` widget with a list of Paraguayan departments as choices.
+
+.. class:: py.forms.PyNumberedDepartmentSelect
+
+ A ``Select`` widget with a roman numbered list of Paraguayan departments as choices.
+
Peru (``pe``)
=============
diff --git a/tests/regressiontests/forms/localflavor/py.py b/tests/regressiontests/forms/localflavor/py.py
new file mode 100644
index 0000000000..4c2acf8887
--- /dev/null
+++ b/tests/regressiontests/forms/localflavor/py.py
@@ -0,0 +1,53 @@
+from django.contrib.localflavor.py.forms import (PyDepartmentSelect,
+ PyNumberedDepartmentSelect)
+
+from utils import LocalFlavorTestCase
+
+class PYLocalFlavorTests(LocalFlavorTestCase):
+ def test_PyDepartmentSelect(self):
+ py = PyDepartmentSelect()
+ out = u'''<select name="department">
+<option value="AG">Alto Paraguay</option>
+<option value="AA">Alto Paran\xe1</option>
+<option value="AM">Amambay</option>
+<option value="AS">Asunci\xf3n</option>
+<option value="BQ">Boquer\xf3n</option>
+<option value="CG">Caaguaz\xfa</option>
+<option value="CZ">Caazap\xe1</option>
+<option value="CY">Canindey\xfa</option>
+<option value="CE">Central</option>
+<option value="CN">Concepci\xf3n</option>
+<option value="CR">Cordillera</option>
+<option value="GU">Guair\xe1</option>
+<option value="IT">Itap\xfaa</option>
+<option value="MI">Misiones</option>
+<option value="NE">\xd1eembuc\xfa</option>
+<option value="PG">Paraguar\xed</option>
+<option value="PH">Pdte. Hayes</option>
+<option value="SP">San Pedro</option>
+</select>'''
+ self.assertEqual(py.render('department', 'M'), out)
+
+ def test_PyNumberedDepartmentSelect(self):
+ py = PyNumberedDepartmentSelect()
+ out = u'''<select name="department">
+<option value="CN">I Concepci\xf3n</option>
+<option value="SP">II San Pedro</option>
+<option value="CR">III Cordillera</option>
+<option value="GU">IV Guair\xe1</option>
+<option value="CG">V Caaguaz\xfa</option>
+<option value="CZ">VI Caazap\xe1</option>
+<option value="IT">VII Itap\xfaa</option>
+<option value="MI">VIII Misiones</option>
+<option value="PG">IX Paraguar\xed</option>
+<option value="AA">X Alto Paran\xe1</option>
+<option value="CE">XI Central</option>
+<option value="NE">XII \xd1eembuc\xfa</option>
+<option value="AM" selected="selected">XIII Amambay</option>
+<option value="CY">XIV Canindey\xfa</option>
+<option value="PH">XV Pdte. Hayes</option>
+<option value="AG">XVI Alto Paraguay</option>
+<option value="BQ">XVII Boquer\xf3n</option>
+<option value="AS">XVIII Asunci\xf3n</option>
+</select>'''
+ self.assertEqual(py.render('department', 'AM'), out)
diff --git a/tests/regressiontests/forms/localflavortests.py b/tests/regressiontests/forms/localflavortests.py
index 5a28a2b137..4bd934199e 100644
--- a/tests/regressiontests/forms/localflavortests.py
+++ b/tests/regressiontests/forms/localflavortests.py
@@ -27,6 +27,7 @@ from localflavor.mk import MKLocalFlavorTests
from localflavor.nl import NLLocalFlavorTests
from localflavor.pl import PLLocalFlavorTests
from localflavor.pt import PTLocalFlavorTests
+from localflavor.py import PYLocalFlavorTests
from localflavor.ro import ROLocalFlavorTests
from localflavor.ru import RULocalFlavorTests
from localflavor.se import SELocalFlavorTests
diff --git a/tests/regressiontests/forms/tests/__init__.py b/tests/regressiontests/forms/tests/__init__.py
index cb5f83cdac..46cc5faf47 100644
--- a/tests/regressiontests/forms/tests/__init__.py
+++ b/tests/regressiontests/forms/tests/__init__.py
@@ -40,6 +40,7 @@ from regressiontests.forms.localflavortests import (
NLLocalFlavorTests,
PLLocalFlavorTests,
PTLocalFlavorTests,
+ PYLocalFlavorTests,
ROLocalFlavorTests,
RULocalFlavorTests,
SELocalFlavorTests,