Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-django-babel

python-django-babel (0.6.2-4ubuntu1) focal; urgency=low * Merge from Debian unstable. Remaining changes: - Extract upstream release tarball content into a patch and apply it - d/rules: Run unit tests using pytest. - d/control: Add BD on python3-pytest-django. -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 26 Oct 2019 08:36:38 +0200

Modifications :
  1. Download patch debian/rules

    --- 0.6.2-4/debian/rules 2019-10-24 10:57:39.000000000 +0000 +++ 0.6.2-4ubuntu1/debian/rules 2019-10-24 22:13:50.000000000 +0000 @@ -12,7 +12,12 @@ override_dh_auto_clean: for i in $$(find . -type d -iname __pycache__) ; do rm -rf $$i ; done override_dh_auto_test: - echo "Do nothing..." +ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) + #PYTHONPATH=$(CURDIR)/debian/python-django-babel/usr/lib/python2.7/dist-packages PYTHON=python2.7 python2.7 -m pytest tests + set -e ; set -x ; for i in $(PYTHON3S) ; do \ + PYTHONPATH=$(CURDIR)/debian/python3-django-babel/usr/lib/python3/dist-packages PYTHONPATH=$(CURDIR) PYTHON=python$$i python$$i -m pytest tests ; \ + done +endif override_dh_auto_build: echo "Do nothing..."
  2. Download patch debian/control

    --- 0.6.2-4/debian/control 2019-10-24 10:57:39.000000000 +0000 +++ 0.6.2-4ubuntu1/debian/control 2019-10-26 06:36:38.000000000 +0000 @@ -16,6 +16,7 @@ Build-Depends-Indep: python3-babel, python3-django, python3-pytest, + python3-pytest-django, Standards-Version: 4.4.1 Vcs-Browser: https://salsa.debian.org/openstack-team/python/python-django-babel Vcs-Git: https://salsa.debian.org/openstack-team/python/python-django-babel.git
  3. Download patch debian/patches/add-egg-info.patch
  4. Download patch debian/patches/series

    --- 0.6.2-4/debian/patches/series 2019-10-24 10:57:39.000000000 +0000 +++ 0.6.2-4ubuntu1/debian/patches/series 2019-10-26 06:36:29.000000000 +0000 @@ -1 +1,2 @@ Fix-For-Django2.patch +add-egg-info.patch

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-django-debreach

python-django-debreach (2.0.1-0ubuntu1) focal; urgency=medium [ Corey Bryant ] * d/rules: Drop --buildsystem=python_distutils option from dh_clean as it is already passed to all dh commands. [ Sahid Orentino Ferdjaoui ] * New upstream release for OpenStack Ussuri. -- Sahid Orentino Ferdjaoui <sahid.ferdjaoui@canonical.com> Mon, 03 Feb 2020 10:15:06 +0000 python-django-debreach (1.5.2-0ubuntu1) disco; urgency=low * Initial release. -- Corey Bryant <corey.bryant@canonical.com> Mon, 26 Nov 2018 13:21:21 -0500

Modifications :
  1. Download patch debreach/decorators.py

    --- 1.5.2-3/debreach/decorators.py 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/debreach/decorators.py 2019-10-10 09:08:27.000000000 +0000 @@ -1,12 +1,9 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from functools import wraps -import django -from django.utils.decorators import available_attrs, decorator_from_middleware +from django.utils.decorators import decorator_from_middleware -from debreach.middleware import CSRFCryptMiddleware, RandomCommentMiddleware +from debreach.middleware import RandomCommentMiddleware append_random_comment = decorator_from_middleware(RandomCommentMiddleware) @@ -27,14 +24,4 @@ def random_comment_exempt(view_func): response = view_func(*args, **kwargs) response._random_comment_exempt = True return response - return wraps(view_func, assigned=available_attrs(view_func))(wrapped_view) - - -if django.VERSION < (1, 10): - csrf_decrypt = decorator_from_middleware(CSRFCryptMiddleware) - append_random_comment.__name__ = str('append_random_comment') - append_random_comment.__doc__ = ''' - Performs the function of the CSRFCryptMiddleware, xor-ing the crypted CSRF - token back into its original form. Using both, or using the decorator - multiple times is harmless and efficient. - ''' + return wraps(view_func)(wrapped_view)
  2. Download patch manage.py

    --- 1.5.2-3/manage.py 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/manage.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -#!/usr/bin/env python -import os -import sys - -if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "test_project.settings") - - from django.core.management import execute_from_command_line - - execute_from_command_line(sys.argv)
  3. Download patch debreach/utils.py

    --- 1.5.2-3/debreach/utils.py 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/debreach/utils.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.utils.encoding import force_bytes -from django.utils.six import binary_type - - -def xor(s, pad): - '''XOR a given string ``s`` with the one-time-pad ``pad``''' - from itertools import cycle - s = bytearray(force_bytes(s, encoding='latin-1')) - pad = bytearray(force_bytes(pad, encoding='latin-1')) - return binary_type(bytearray(x ^ y for x, y in zip(s, cycle(pad))))
  4. Download patch debreach/middleware.py

    --- 1.5.2-3/debreach/middleware.py 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/debreach/middleware.py 2019-10-10 07:54:15.000000000 +0000 @@ -1,87 +1,28 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - import logging import random -import django -from django.core.exceptions import ImproperlyConfigured, SuspiciousOperation -from django.core.signing import b64_decode from django.utils.crypto import get_random_string -from django.utils.encoding import force_bytes, force_text -from django.utils.six import binary_type, string_types - -from debreach.utils import xor - -try: - from django.utils.deprecation import MiddlewareMixin -except ImportError: - class MiddlewareMixin(object): - pass +from django.utils.deprecation import MiddlewareMixin +from django.utils.encoding import force_str log = logging.getLogger(__name__) -class CSRFCryptMiddleware(object): - - def __init__(self, *args, **kwargs): - if django.VERSION >= (1, 10): - raise ImproperlyConfigured( - "Django 1.10 and above provides it's own CSRF mechanism to " - "mitigate the BREACH attack, please remove the " - "{}.{} middleware." - .format(self.__module__, self.__class__.__name__) - ) - - def _decode(self, token): - key, value = force_bytes(token, encoding='latin-1').split(b'$', 1) - return force_text(xor(b64_decode(value), key), encoding='latin-1') - - def process_view(self, request, view, view_args, view_kwargs): - if getattr(view, 'csrf_exempt', False): - return None - if request.POST.get('csrfmiddlewaretoken') \ - and '$' in request.POST.get('csrfmiddlewaretoken'): - try: - post_was_mutable = request.POST._mutable - POST = request.POST.copy() - token = POST.get('csrfmiddlewaretoken') - POST['csrfmiddlewaretoken'] = self._decode(token) - POST._mutable = post_was_mutable - request.POST = POST - except: - log.exception('Error decoding csrfmiddlewaretoken') - raise SuspiciousOperation( - 'csrfmiddlewaretoken has been tampered with') - if request.META.get('HTTP_X_CSRFTOKEN') \ - and '$' in request.META.get('HTTP_X_CSRFTOKEN'): - try: - META = request.META.copy() - token = META.get('HTTP_X_CSRFTOKEN') - META['HTTP_X_CSRFTOKEN'] = self._decode(token) - request.META = META - except: - log.exception('Error decoding csrfmiddlewaretoken') - raise SuspiciousOperation( - 'X-CSRFToken header has been tampered with') - return None - - class RandomCommentMiddleware(MiddlewareMixin): def process_response(self, request, response): - str_types = string_types + (binary_type,) if not getattr(response, 'streaming', False) \ and response.get('Content-Type', '').startswith('text/html') \ and response.content \ - and isinstance(response.content, str_types) \ + and isinstance(response.content, (bytes, str)) \ and not getattr(response, '_random_comment_exempt', False) \ and not getattr(response, '_random_comment_applied', False): comment = '<!-- {0} -->'.format( get_random_string(random.choice(range(12, 25)))) response.content = '{0}{1}'.format( - force_text(response.content), comment) + force_str(response.content), comment) response._random_comment_applied = True if response.has_header('Content-Length'): response['Content-Length'] = str(len(response.content))
  5. Download patch debreach/apps.py

    --- 1.5.2-3/debreach/apps.py 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/debreach/apps.py 2019-10-10 07:55:51.000000000 +0000 @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.apps import AppConfig
  6. Download patch django_debreach.egg-info/SOURCES.txt

    --- 1.5.2-3/django_debreach.egg-info/SOURCES.txt 1970-01-01 00:00:00.000000000 +0000 +++ 2.0.1-0ubuntu1/django_debreach.egg-info/SOURCES.txt 2019-10-10 09:09:53.000000000 +0000 @@ -0,0 +1,25 @@ +LICENSE +MANIFEST.in +README.rst +runtests.py +setup.py +debreach/__init__.py +debreach/apps.py +debreach/decorators.py +debreach/middleware.py +debreach/tests.py +django_debreach.egg-info/PKG-INFO +django_debreach.egg-info/SOURCES.txt +django_debreach.egg-info/dependency_links.txt +django_debreach.egg-info/top_level.txt +docs/Makefile +docs/conf.py +docs/index.rst +docs/make.bat +test_project/__init__.py +test_project/forms.py +test_project/settings.py +test_project/urls.py +test_project/wsgi.py +test_project/templates/home.html +test_project/templates/test.html \ No newline at end of file
  7. Download patch PKG-INFO

    --- 1.5.2-3/PKG-INFO 1970-01-01 00:00:00.000000000 +0000 +++ 2.0.1-0ubuntu1/PKG-INFO 2019-10-10 09:09:54.000000000 +0000 @@ -0,0 +1,24 @@ +Metadata-Version: 1.1 +Name: django-debreach +Version: 2.0.1 +Summary: Adds middleware to give some added protection against the BREACH attack in Django. +Home-page: http://github.com/lpomfrey/django-debreach +Author: Luke Pomfrey +Author-email: lpomfrey@gmail.com +License: BSD +Description: UNKNOWN +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Web Environment +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: BSD License +Classifier: Operating System :: OS Independent +Classifier: Framework :: Django +Classifier: Framework :: Django :: 2.2 +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Internet :: WWW/HTTP
  8. Download patch README.rst

    --- 1.5.2-3/README.rst 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/README.rst 2019-10-10 07:58:23.000000000 +0000 @@ -4,6 +4,12 @@ django-debreach Basic/extra mitigation against the `BREACH attack <http://breachattack.com/>`_ for Django projects. +django-debreach provides additional protection to Django's built in CSRF +token masking by randomising the content length of each response. This is +acheived by adding a random string of between 12 and 25 characters as a +comment to the end of the HTML content. Note that this will only be applied to +responses with a content type of ``text/html``. + When combined with rate limiting in your web-server, or by using something like `django-ratelimit <http://django-ratelimit.readthedocs.org/>`_, the techniques here should provide at least some protection against the BREACH @@ -20,89 +26,13 @@ attack. :target: https://coveralls.io/r/lpomfrey/django-debreach?branch=master :alt: Coverage -Installation ------------- +Installation & Usage +-------------------- Install from PyPI using:: $ pip install django-debreach -Add to your `INSTALLED_APPS`:: - - INSTALLED_APPS = ( - ... - 'debreach', - ... - ) - -Configuration -------------- - -CSRF token masking (for Django < 1.10) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Django 1.10+ provides built-in support for masking CSRF tokens so you should -use that. Including the middleware in a Django 1.10 project will raise an -``ImproperlyConfigured`` exception. - -To mask CSRF tokens in the template add the -``debreach.context_processors.csrf`` context processor to the end of your -`TEMPLATE_CONTEXT_PROCESSORS`:: - - TEMPLATE_CONTEXT_PROCESSORS = ( - ... - 'debreach.context_processors.csrf', - ) - -And add the ``debreach.middleware.CSRFCryptMiddleware`` to your middleware, -*before* ``django.middleware.csrf.CSRFMiddleware``:: - - MIDDLEWARE_CLASSES = ( - 'debreach.middleware.CSRFCryptMiddleware', - ... - 'django.middleware.csrf.CSRFMiddleware', - ... - ) - -This works by xor-ing the CSRF token when it is added to the template, -so that ``{% csrf_token %}`` now produces a hidden field with a value that is -``"<random-string>$<actual-csrf-token-xor-ed-with-random-string>"``. -Then, when the form is POSTed, the middleware xors the CSRF token back into -it's original form. This ensures that the CSRF content is never the same -between requests. If you are passing the token using the ``X-CSRFToken`` -header (e.g. using XHR) that header will also be processed in the same way. - -Note that values that are unchanged by django-debreach, or rather, don't -contain a delimiting ``$``, will be left unmodified. The middleware will -also not operate on views marked as being exempt from CSRF protection -using the ``django.views.decorators.csrf.csrf_exempt`` decorator. - -CSRF protection using csrf_protect -"""""""""""""""""""""""""""""""""" - -If you don't use the CSRF middleware from django but, instead, apply the -``django.views.decorators.csrf.csrf_protect`` decorator to selected -views, and don't want to use the ``debreach.middleware.CSRFCryptMiddleware``, -then you can use the ``debreach.decorators.csrf_decrypt`` decorator. - -To use the ``debreach.decorators.csrf_decrypt`` decorator simply wrap -your CSRF protected view with the decorator, like so:: - - @csrf_protect - @csrf_decrypt - def view(request, *args, **kwargs): - return HttpResponse('') - - -Content length modification -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -django-debreach also enables you to counter the BREACH attack by randomising the -content length of each response. This is acheived by adding a random string of -between 12 and 25 characters as a comment to the end of the HTML content. Note -that this will only be applied to responses with a content type of -``text/html``. - To enable content length modification for all responses, add the ``debreach.middleware.RandomCommentMiddleware`` to the *start* of your middleware, but *after* the ``GzipMiddleware`` if you are using that.:: @@ -127,3 +57,9 @@ If you only want to protect a subset of then it may be easier to not use the middleware, but to selectively apply the ``debreach.decorators.append_random_comment`` decorator to the views you want protected. + +Python 2 and Django < 2.0 support +--------------------------------- + +Version 2.0.0 drops all support for Python 2 and Django < 2.0. If you need +support for those versions continue using ``django-debreach>=1.5.2,<2.0``.
  9. Download patch debian/rules

    --- 1.5.2-3/debian/rules 2019-09-14 20:52:55.000000000 +0000 +++ 2.0.1-0ubuntu1/debian/rules 2020-02-03 10:15:06.000000000 +0000 @@ -1,33 +1,32 @@ #!/usr/bin/make -f UPSTREAM_GIT := https://github.com/lpomfrey/django-debreach.git --include /usr/share/openstack-pkg-tools/pkgos.make +include /usr/share/openstack-pkg-tools/pkgos.make %: - dh $@ --buildsystem=python_distutils --with python3,sphinxdoc + dh $@ --buildsystem=python_distutils --with python3 -override_dh_auto_clean: - rm -rf build .stestr - find . -iname '*.pyc' -delete - for i in $$(find . -type d -iname __pycache__) ; do rm -rf $$i ; done - -override_dh_auto_build: - echo "Do nothing..." - -override_dh_auto_install: - pkgos-dh_auto_install --no-py2 --in-tmp +override_dh_clean: + dh_clean + rm -rf build +override_dh_auto_test: ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) set -e ; for pyvers in $(PYTHON3S); do \ - python$$pyvers setup.py test ; \ + echo "===> Testing with python$$pyvers" ; \ + PYTHONPATH=.:$(CURDIR)/debreach http_proxy=127.0.0.1:9 https_proxy=127.0.0.1:9 PYTHON=python$$pyvers python$$pyvers setup.py test ; \ done endif -override_dh_auto_test: - echo "Do nothing..." +override_dh_auto_build: -override_dh_sphinxdoc: -ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS))) - PYTHONPATH=. python3 -m sphinx -b html docs debian/python-django-debreach-doc/usr/share/doc/python-django-debreach-doc/html - dh_sphinxdoc -endif +override_dh_auto_install: + pkgos-dh_auto_install --no-py2 + +# Commands not to run +override_dh_installcatalogs: +override_dh_installemacsen override_dh_installifupdown: +override_dh_installinfo override_dh_installmenu override_dh_installmime: +override_dh_installmodules override_dh_installlogcheck: +override_dh_installpam override_dh_installppp override_dh_installudev override_dh_installwm: +override_dh_installxfonts override_dh_gconf override_dh_icons override_dh_perl override_dh_usrlocal:
  10. Download patch CONTRIBUTING.rst

    --- 1.5.2-3/CONTRIBUTING.rst 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/CONTRIBUTING.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1,105 +0,0 @@ -============ -Contributing -============ - -Contributions are welcome, and they are greatly appreciated! Every -little bit helps, and credit will always be given. - -You can contribute in many ways: - -Types of Contributions ----------------------- - -Report Bugs -~~~~~~~~~~~ - -Report bugs at https://github.com/lpomfrey/django-debreach/issues. - -If you are reporting a bug, please include: - -* Your operating system name and version. -* Any details about your local setup that might be helpful in troubleshooting. -* Detailed steps to reproduce the bug. - -Fix Bugs -~~~~~~~~ - -Look through the GitHub issues for bugs. Anything tagged with "bug" -is open to whoever wants to implement it. - -Implement Features -~~~~~~~~~~~~~~~~~~ - -Look through the GitHub issues for features. Anything tagged with "feature" -is open to whoever wants to implement it. - -Write Documentation -~~~~~~~~~~~~~~~~~~~ - -django-debreach could always use more documentation, whether as part of the -official django-debreach docs, in docstrings, or even on the web in blog posts, -articles, and such. - -Submit Feedback -~~~~~~~~~~~~~~~ - -The best way to send feedback is to file an issue at https://github.com/lpomfrey/django-debreach/issues. - -If you are proposing a feature: - -* Explain in detail how it would work. -* Keep the scope as narrow as possible, to make it easier to implement. -* Remember that this is a volunteer-driven project, and that contributions - are welcome :) - -Get Started! ------------- - -Ready to contribute? Here's how to set up `django-debreach` for local development. - -1. Fork the `django-debreach` repo on GitHub. -2. Clone your fork locally:: - - $ git clone git@github.com:your_name_here/django-debreach.git - -3. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development:: - - $ mkvirtualenv django-debreach - $ cd django-debreach/ - $ python setup.py develop - -4. Create a branch for local development:: - - $ git checkout -b name-of-your-bugfix-or-feature - -Now you can make your changes locally. - -5. When you're done making changes, check that your changes pass flake8 and the -tests, including testing other Python versions with tox:: - - $ flake8 debreach - $ python setup.py test - $ tox - -To get flake8 and tox, just pip install them into your virtualenv. - -6. Commit your changes and push your branch to GitHub:: - - $ git add . - $ git commit -m "Your detailed description of your changes." - $ git push origin name-of-your-bugfix-or-feature - -7. Submit a pull request through the GitHub website. - -Pull Request Guidelines ------------------------ - -Before you submit a pull request, check that it meets these guidelines: - -1. The pull request should include tests. -2. If the pull request adds functionality, the docs should be updated. Put - your new functionality into a function with a docstring, and add the - feature to the list in README.rst. -3. The pull request should work for Python 2.7, 3.4, and 3.5, and for PyPy. Check - https://travis-ci.org/lpomfrey/django-debreach/pull_requests - and make sure that the tests pass for all supported Python versions.
  11. Download patch debian/compat

    --- 1.5.2-3/debian/compat 1970-01-01 00:00:00.000000000 +0000 +++ 2.0.1-0ubuntu1/debian/compat 2020-02-03 10:15:06.000000000 +0000 @@ -0,0 +1 @@ +10
  12. Download patch debreach/tests.py
  13. Download patch debian/control

    --- 1.5.2-3/debian/control 2019-09-14 20:52:55.000000000 +0000 +++ 2.0.1-0ubuntu1/debian/control 2020-02-03 10:15:06.000000000 +0000 @@ -1,36 +1,23 @@ Source: python-django-debreach Section: python Priority: optional -Maintainer: Debian OpenStack <team+openstack@tracker.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Uploaders: - Thomas Goirand <zigo@debian.org>, + Corey Bryant <corey.bryant@canonical.com>, Build-Depends: - debhelper-compat (= 10), + debhelper (>= 10), dh-python, - openstack-pkg-tools (>= 99~), + openstack-pkg-tools, + python-all, + python-setuptools, python3-all, python3-setuptools, - python3-sphinx, Build-Depends-Indep: python3-django, -Standards-Version: 4.4.0 -Vcs-Browser: https://salsa.debian.org/openstack-team/python/python-django-debreach -Vcs-Git: https://salsa.debian.org/openstack-team/python/python-django-debreach.git -Homepage: http://github.com/lpomfrey/django-debreach - -Package: python-django-debreach-doc -Section: doc -Architecture: all -Depends: - ${misc:Depends}, - ${sphinxdoc:Depends}, -Description: some protection against the BREACH attack in Django - doc - This Python Django module provides basic/extra mitigation against the BREACH - attack for Django projects. When combined with rate limiting in your - web-server, or by using something like django-ratelimit, the techniques here - should provide at least some protection against the BREACH attack. - . - This package contains the documentation. +Standards-Version: 4.2.1 +Vcs-Browser: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-django-debreach +Vcs-Git: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-django-debreach +Homepage: https://pypi.python.org/pypi/django_debreach/ Package: python3-django-debreach Architecture: all @@ -38,12 +25,13 @@ Depends: python3-django, ${misc:Depends}, ${python3:Depends}, -Suggests: - python-django-debreach-doc, -Description: some protection against the BREACH attack in Django - Python 3.x - This Python Django module provides basic/extra mitigation against the BREACH - attack for Django projects. When combined with rate limiting in your - web-server, or by using something like django-ratelimit, the techniques here - should provide at least some protection against the BREACH attack. +Description: Protection against the BREACH attack in Django - Python 3 + Basic/extra mitigation against the `BREACH attack <http://breachattack.com/>`_ + for Django projects. + . + When combined with rate limiting in your web-server, or by using something + like `django-ratelimit <http://django-ratelimit.readthedocs.org/>`_, the + techniques here should provide at least some protection against the BREACH + attack. . - This package contains the Python 3.x module. + This package contains the Python 3 module.
  14. Download patch .travis.yml

    --- 1.5.2-3/.travis.yml 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/.travis.yml 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -language: python -python: - - "2.7" - - "3.5" - - "3.6" - - "pypy" -env: - - DJANGO="django>=1.8,<1.9" - - DJANGO="django>=1.11,<2.0" - - DJANGO="django>=2.0" -install: - - "pip install ${DJANGO}" -before_script: - - "pip install python-coveralls coverage" -script: - - "coverage run runtests.py" -after_success: - - "coveralls" -notifications: - email: false -matrix: - exclude: - - python: "2.7" - env: DJANGO="django>=2.0" - - python: "pypy" - env: DJANGO="django>=2.0"
  15. Download patch .coveragerc

    --- 1.5.2-3/.coveragerc 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/.coveragerc 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -[run] -omit = - *tests.py - debreach/models.py -include = debreach/* - -[report] -exclude_lines = - pragma: no cover - def __repr__ - raise NotImplementedError - if __name__ == .__main__.:
  16. Download patch tox.ini

    --- 1.5.2-3/tox.ini 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/tox.ini 1970-01-01 00:00:00.000000000 +0000 @@ -1,62 +0,0 @@ -[tox] -envlist = py27-dj18, py27-dj111, py35, py35-dj18, py35-dj111, py36, py36-dj18, py36-dj111, pypy-dj18, pypy-dj111, docs -skip_missing_interpreters=True - -[testenv] -PYTHONPATH = {toxinidir}:{toxinidir}/debreach -commands = python setup.py test -install_command = pip install {opts} {packages} -deps = - django>=2.0 - -[testenv:docs] -changedir = docs -whitelist_externals = make -deps = - sphinx -commands = - make html - -[testenv:py27-dj18] -basepython=python2.7 -deps = - django>=1.8,<1.9 - -[testenv:py27-dj111] -basepython=python2.7 -deps = - django>=1.11,<2.0 - -[testenv:py35-dj18] -basepython=python3.5 -deps = - django>=1.8,<1.9 - -[testenv:py35-dj111] -basepython=python3.5 -deps = - django>=1.11,<2.0 - -[testenv:py36-dj18] -basepython=python3.6 -deps = - django>=1.8,<1.9 - -[testenv:py36-dj111] -basepython=python3.6 -deps = - django>=1.11,<2.0 - -[testenv:pypy-dj18] -basepython=pypy -setenv = - NO_FASTMATH=true -deps = - django>=1.8,<1.9 - -[testenv:pypy-dj111] -basepython=pypy -setenv = - NO_FASTMATH=true -deps = - django>=1.11,<2.0
  17. Download patch django_debreach.egg-info/PKG-INFO

    --- 1.5.2-3/django_debreach.egg-info/PKG-INFO 1970-01-01 00:00:00.000000000 +0000 +++ 2.0.1-0ubuntu1/django_debreach.egg-info/PKG-INFO 2019-10-10 09:09:53.000000000 +0000 @@ -0,0 +1,24 @@ +Metadata-Version: 1.1 +Name: django-debreach +Version: 2.0.1 +Summary: Adds middleware to give some added protection against the BREACH attack in Django. +Home-page: http://github.com/lpomfrey/django-debreach +Author: Luke Pomfrey +Author-email: lpomfrey@gmail.com +License: BSD +Description: UNKNOWN +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Web Environment +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: BSD License +Classifier: Operating System :: OS Independent +Classifier: Framework :: Django +Classifier: Framework :: Django :: 2.2 +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Internet :: WWW/HTTP
  18. Download patch django_debreach.egg-info/top_level.txt

    --- 1.5.2-3/django_debreach.egg-info/top_level.txt 1970-01-01 00:00:00.000000000 +0000 +++ 2.0.1-0ubuntu1/django_debreach.egg-info/top_level.txt 2019-10-10 09:09:53.000000000 +0000 @@ -0,0 +1 @@ +debreach
  19. Download patch debreach/__init__.py

    --- 1.5.2-3/debreach/__init__.py 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/debreach/__init__.py 2019-10-10 09:08:57.000000000 +0000 @@ -1,10 +1,8 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from distutils import version -__version__ = '1.5.2' +__version__ = '2.0.1' version_info = version.StrictVersion(__version__).version default_app_config = 'debreach.apps.DebreachConfig'
  20. Download patch .gitignore

    --- 1.5.2-3/.gitignore 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/.gitignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -*.egg-info -*.py[co] -*~ -.#* -.*.swp -/build -/dist -[#]*# -docs/_build -.coverage -.tox -__pycache__
  21. Download patch debreach/models.py

    --- 1.5.2-3/debreach/models.py 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/debreach/models.py 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -# -*- coding: utf-8 -*-
  22. Download patch debian/patches/remove-privacy-breach-in-doc.patch

    --- 1.5.2-3/debian/patches/remove-privacy-breach-in-doc.patch 2019-09-14 20:52:55.000000000 +0000 +++ 2.0.1-0ubuntu1/debian/patches/remove-privacy-breach-in-doc.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -Description: Remove privacy breach in doc -Author: Thomas Goirand <zigo@debian.org> -Forwarded: no -Last-Update: 2019-03-31 - ---- python-django-debreach-1.5.2.orig/README.rst -+++ python-django-debreach-1.5.2/README.rst -@@ -9,17 +9,6 @@ like `django-ratelimit <http://django-ra - techniques here should provide at least some protection against the BREACH - attack. - --.. image:: https://badge.fury.io/py/django-debreach.png -- :target: https://badge.fury.io/py/django-debreach -- :alt: PyPI --.. image:: https://travis-ci.org/lpomfrey/django-debreach.png?branch=master -- :target: https://travis-ci.org/lpomfrey/django-debreach -- :alt: Build status -- --.. image:: https://coveralls.io/repos/lpomfrey/django-debreach/badge.png?branch=master -- :target: https://coveralls.io/r/lpomfrey/django-debreach?branch=master -- :alt: Coverage -- - Installation - ------------ -
  23. Download patch AUTHORS.rst

    --- 1.5.2-3/AUTHORS.rst 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/AUTHORS.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -======= -Credits -======= - -Development Lead ----------------- - -* Luke Pomfrey <pomfrey@gmail.com> - -Contributors ------------- - -* Phillipe Ombredanne (https://github.com/pombredanne) -* Christopher Ghormley (https://github.com/csghormley) -* Daniel Hawkins (https://github.com/hwkns)
  24. Download patch docs/index.rst

    --- 1.5.2-3/docs/index.rst 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/docs/index.rst 2019-10-10 07:58:23.000000000 +0000 @@ -4,6 +4,12 @@ django-debreach Basic/extra mitigation against the `BREACH attack <http://breachattack.com/>`_ for Django projects. +django-debreach provides additional protection to Django's built in CSRF +token masking by randomising the content length of each response. This is +acheived by adding a random string of between 12 and 25 characters as a +comment to the end of the HTML content. Note that this will only be applied to +responses with a content type of ``text/html``. + When combined with rate limiting in your web-server, or by using something like `django-ratelimit <http://django-ratelimit.readthedocs.org/>`_, the techniques here should provide at least some protection against the BREACH @@ -20,89 +26,13 @@ attack. :target: https://coveralls.io/r/lpomfrey/django-debreach?branch=master :alt: Coverage -Installation ------------- +Installation & Usage +-------------------- Install from PyPI using:: $ pip install django-debreach -Add to your `INSTALLED_APPS`:: - - INSTALLED_APPS = ( - ... - 'debreach', - ... - ) - -Configuration -------------- - -CSRF token masking (for Django < 1.10) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Django 1.10+ provides built-in support for masking CSRF tokens so you should -use that. Including the middleware in a Django 1.10 project will raise an -``ImproperlyConfigured`` exception. - -To mask CSRF tokens in the template add the -``debreach.context_processors.csrf`` context processor to the end of your -`TEMPLATE_CONTEXT_PROCESSORS`:: - - TEMPLATE_CONTEXT_PROCESSORS = ( - ... - 'debreach.context_processors.csrf', - ) - -And add the ``debreach.middleware.CSRFCryptMiddleware`` to your middleware, -*before* ``django.middleware.csrf.CSRFMiddleware``:: - - MIDDLEWARE_CLASSES = ( - 'debreach.middleware.CSRFCryptMiddleware', - ... - 'django.middleware.csrf.CSRFMiddleware', - ... - ) - -This works by xor-ing the CSRF token when it is added to the template, -so that ``{% csrf_token %}`` now produces a hidden field with a value that is -``"<random-string>$<actual-csrf-token-xor-ed-with-random-string>"``. -Then, when the form is POSTed, the middleware xors the CSRF token back into -it's original form. This ensures that the CSRF content is never the same -between requests. If you are passing the token using the ``X-CSRFToken`` -header (e.g. using XHR) that header will also be processed in the same way. - -Note that values that are unchanged by django-debreach, or rather, don't -contain a delimiting ``$``, will be left unmodified. The middleware will -also not operate on views marked as being exempt from CSRF protection -using the ``django.views.decorators.csrf.csrf_exempt`` decorator. - -CSRF protection using csrf_protect -"""""""""""""""""""""""""""""""""" - -If you don't use the CSRF middleware from django but, instead, apply the -``django.views.decorators.csrf.csrf_protect`` decorator to selected -views, and don't want to use the ``debreach.middleware.CSRFCryptMiddleware``, -then you can use the ``debreach.decorators.csrf_decrypt`` decorator. - -To use the ``debreach.decorators.csrf_decrypt`` decorator simply wrap -your CSRF protected view with the decorator, like so:: - - @csrf_protect - @csrf_decrypt - def view(request, *args, **kwargs): - return HttpResponse('') - - -Content length modification -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -django-debreach also enables you to counter the BREACH attack by randomising the -content length of each response. This is acheived by adding a random string of -between 12 and 25 characters as a comment to the end of the HTML content. Note -that this will only be applied to responses with a content type of -``text/html``. - To enable content length modification for all responses, add the ``debreach.middleware.RandomCommentMiddleware`` to the *start* of your middleware, but *after* the ``GzipMiddleware`` if you are using that.:: @@ -127,3 +57,9 @@ If you only want to protect a subset of then it may be easier to not use the middleware, but to selectively apply the ``debreach.decorators.append_random_comment`` decorator to the views you want protected. + +Python 2 and Django < 2.0 support +--------------------------------- + +Version 2.0.0 drops all support for Python 2 and Django < 2.0. If you need +support for those versions continue using ``django-debreach>=1.5.2,<2.0``.
  25. Download patch debian/watch

    --- 1.5.2-3/debian/watch 2019-09-14 20:52:55.000000000 +0000 +++ 2.0.1-0ubuntu1/debian/watch 2020-02-03 10:15:06.000000000 +0000 @@ -1,4 +1,3 @@ version=3 opts=uversionmangle=s/(rc|a|b|c)/~$1/ \ https://pypi.debian.net/django-debreach/django-debreach-(.+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) -
  26. Download patch setup.cfg

    --- 1.5.2-3/setup.cfg 1970-01-01 00:00:00.000000000 +0000 +++ 2.0.1-0ubuntu1/setup.cfg 2019-10-10 09:09:54.000000000 +0000 @@ -0,0 +1,4 @@ +[egg_info] +tag_build = +tag_date = 0 +
  27. Download patch debian/patches/series

    --- 1.5.2-3/debian/patches/series 2019-09-14 20:52:55.000000000 +0000 +++ 2.0.1-0ubuntu1/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -remove-privacy-breach-in-doc.patch
  28. Download patch requirements.txt

    --- 1.5.2-3/requirements.txt 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/requirements.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -django>=1.3
  29. Download patch django_debreach.egg-info/dependency_links.txt

    --- 1.5.2-3/django_debreach.egg-info/dependency_links.txt 1970-01-01 00:00:00.000000000 +0000 +++ 2.0.1-0ubuntu1/django_debreach.egg-info/dependency_links.txt 2019-10-10 09:09:53.000000000 +0000 @@ -0,0 +1 @@ +
  30. Download patch debreach/context_processors.py

    --- 1.5.2-3/debreach/context_processors.py 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/debreach/context_processors.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.core.signing import b64_encode -from django.middleware.csrf import get_token -from django.utils.crypto import get_random_string -from django.utils.encoding import force_bytes, force_text -from django.utils.functional import lazy -from django.utils.six import text_type - -from debreach.utils import xor - - -def csrf(request): - """ - Context processor that provides a CSRF token, or the string 'NOTPROVIDED' - if it has not been provided by either a view decorator or the middleware - """ - def _get_val(): - token = get_token(request) - if token is None: - # In order to be able to provide debugging info in the - # case of misconfiguration, we use a sentinel value - # instead of returning an empty dict. - return 'NOTPROVIDED' - else: - token = force_bytes(token, encoding='latin-1') - key = force_bytes( - get_random_string(len(token)), - encoding='latin-1' - ) - value = b64_encode(xor(token, key)) - return force_text(b'$'.join((key, value)), encoding='latin-1') - _get_val = lazy(_get_val, text_type) - - return {'csrf_token': _get_val()}
  31. Download patch setup.py

    --- 1.5.2-3/setup.py 2018-08-31 13:30:37.000000000 +0000 +++ 2.0.1-0ubuntu1/setup.py 2019-10-10 08:15:28.000000000 +0000 @@ -50,8 +50,8 @@ setup( version=version, url='http://github.com/lpomfrey/django-debreach', license='BSD', - description='Adds middleware and context processors to give some ' - 'protection against the BREACH attack in Django.', + description='Adds middleware to give some added protection against the ' + 'BREACH attack in Django.', author='Luke Pomfrey', author_email='lpomfrey@gmail.com', packages=find_packages(exclude=('test_project', 'docs')), @@ -67,14 +67,9 @@ setup( 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Framework :: Django', - 'Framework :: Django :: 1.8', - 'Framework :: Django :: 1.11', - 'Framework :: Django :: 2.0', + 'Framework :: Django :: 2.2', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: Implementation :: CPython',
  32. Download patch debian/source/options

    --- 1.5.2-3/debian/source/options 2019-09-14 20:52:55.000000000 +0000 +++ 2.0.1-0ubuntu1/debian/source/options 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -extend-diff-ignore = "^[^/]*[.]egg-info/"
  33. Download patch debian/python-django-debreach-doc.doc-base

    --- 1.5.2-3/debian/python-django-debreach-doc.doc-base 2019-09-14 20:52:55.000000000 +0000 +++ 2.0.1-0ubuntu1/debian/python-django-debreach-doc.doc-base 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -Document: python-django-debreach-doc -Title: django-debreach Documentation -Author: N/A -Abstract: Sphinx documentation for django-debreach -Section: Programming/Python - -Format: HTML -Index: /usr/share/doc/python-django-debreach-doc/html/index.html -Files: /usr/share/doc/python-django-debreach-doc/html/*
  34. Download patch debian/gbp.conf

    --- 1.5.2-3/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ 2.0.1-0ubuntu1/debian/gbp.conf 2020-02-03 10:15:06.000000000 +0000 @@ -0,0 +1,7 @@ +[DEFAULT] +debian-branch = master +upstream-tag = %(version)s +pristine-tar = True + +[buildpackage] +export-dir = ../build-area
  35. Download patch debian/copyright
  36. Download patch debian/python3-django-debreach.install

    --- 1.5.2-3/debian/python3-django-debreach.install 2019-09-14 20:52:55.000000000 +0000 +++ 2.0.1-0ubuntu1/debian/python3-django-debreach.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -/usr

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-django-formtools

python-django-formtools (2.2-0ubuntu1) focal; urgency=medium * d/gbp.conf: Update gbp configuration file. * d/control: Update Vcs-* links and maintainers. * New upstream release. * d/p/add-use_required_attribute-false-in-test.patch: Dropped. Fixed in new upstream release. -- Corey Bryant <corey.bryant@canonical.com> Fri, 14 Feb 2020 12:10:22 -0500

Modifications :
  1. Download patch formtools/locale/gd/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/gd/LC_MESSAGES/django.po 1970-01-01 00:00:00.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/gd/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -0,0 +1,62 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# GunChleoc, 2016 +msgid "" +msgstr "" +"Project-Id-Version: django-formtools\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-03-25 09:31-0500\n" +"PO-Revision-Date: 2017-09-22 17:55+0000\n" +"Last-Translator: GunChleoc\n" +"Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django-formtools/language/gd/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gd\n" +"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n" + +#: apps.py:7 +msgid "Form Tools" +msgstr "Innealan foirme" + +#: templates/formtools/form.html:6 +msgid "Please correct the following errors" +msgstr "Feuch an cuir thu na mearachdan seo gu ceart" + +#: templates/formtools/form.html:6 templates/formtools/preview.html:24 +msgid "Submit" +msgstr "Cuir a-null" + +#: templates/formtools/form.html:13 templates/formtools/preview.html:34 +msgid "Preview" +msgstr "Ro-sheall" + +#: templates/formtools/preview.html:6 +msgid "Preview your submission" +msgstr "Ro-sheall na sgrìobh thu" + +#: templates/formtools/preview.html:17 +#, python-format +msgid "Security hash: %(hash_value)s" +msgstr "Hais tèarainteachd: %(hash_value)s" + +#: templates/formtools/preview.html:27 +msgid "Or edit it again" +msgstr "No deasaich a-rithist e" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "first step" +msgstr "a' chiad cheum" + +#: templates/formtools/wizard/wizard_form.html:17 +msgid "prev step" +msgstr "an ceum roimhe" + +#: templates/formtools/wizard/wizard_form.html:19 +msgid "submit" +msgstr "cuir a-null" + +#: wizard/views.py:276 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Tha dàta an fhoirm stiùiridh a dhìth no chaidh beantainn ris." Binary files 2.1-1/formtools/locale/hu/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/hu/LC_MESSAGES/django.mo differ
  2. Download patch tests/tests.py

    --- 2.1-1/tests/tests.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/tests/tests.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import datetime import os import unittest @@ -8,7 +5,6 @@ import warnings from django import http from django.test import TestCase, override_settings -from django.utils._os import upath from formtools import preview, utils @@ -23,7 +19,7 @@ class TestFormPreview(preview.FormPrevie self.state['user'] = request.user def get_context(self, request, form): - context = super(TestFormPreview, self).get_context(request, form) + context = super().get_context(request, form) context.update({'custom_context': True}) return context @@ -37,7 +33,7 @@ class TestFormPreview(preview.FormPrevie @override_settings( TEMPLATES=[{ 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [os.path.join(os.path.dirname(upath(__file__)), 'templates')], + 'DIRS': [os.path.join(os.path.dirname(__file__), 'templates')], 'APP_DIRS': True, }], ROOT_URLCONF='tests.urls', @@ -45,7 +41,7 @@ class TestFormPreview(preview.FormPrevie class PreviewTests(TestCase): def setUp(self): - super(PreviewTests, self).setUp() + super().setUp() # Create a FormPreview instance to share between tests self.preview = preview.FormPreview(TestForm) input_template = '<input type="hidden" name="%s" value="%s" />' @@ -191,7 +187,7 @@ class FormHmacTests(unittest.TestCase): empty_permitted = True, or forms where data has not changed. """ f1 = HashTestBlankForm({}) - f2 = HashTestForm({}, empty_permitted=True) + f2 = HashTestForm({}, empty_permitted=True, use_required_attribute=False) hash1 = utils.form_hmac(f1) hash2 = utils.form_hmac(f2) self.assertEqual(hash1, hash2)
  3. Download patch formtools/locale/ml/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/ml/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/ml/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,6 +1,7 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: +# Hrishikesh <hrishi.kb@gmail.com>, 2019 # Jannis Leidel <jannis@leidel.info>, 2011 # Rajeesh Nair <rajeeshrnair@gmail.com>, 2012 msgid "" @@ -8,44 +9,43 @@ msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Malayalam (http://www.transifex.com/projects/p/django-" -"formtools/language/ml/)\n" -"Language: ml\n" +"PO-Revision-Date: 2019-03-04 08:53+0000\n" +"Last-Translator: Hrishikesh <hrishi.kb@gmail.com>\n" +"Language-Team: Malayalam (http://www.transifex.com/django/django-formtools/language/ml/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:7 msgid "Form Tools" -msgstr "" +msgstr "ഫോം ടൂളുകൾ" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "ദയവായി താഴെക്കൊടുത്തിരിക്കുന്ന തെറ്റുകൾ തിരുത്തുക." #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "സമർപ്പിക്കുക" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "പ്രിവ്യൂ" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "നിങ്ങൾ സമർപ്പിച്ചതിന്റെ പ്രിവ്യൂ" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "സെക്യൂരിറ്റി ഹാഷ്: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "അല്ലെങ്കിൽ വീണ്ടും തിരുത്തുക" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -57,8 +57,8 @@ msgstr "തൊട്ടു മുമ് #: templates/formtools/wizard/wizard_form.html:19 msgid "submit" -msgstr "സമര്‍പ്പിക്കൂ" +msgstr "സമര്‍പ്പിക്കുക" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "ManagementForm ഡാറ്റ ലഭ്യമല്ലാതിരിക്കുകയോ അതിൽ തിരിമറി നടത്തപ്പെടുകയോ ചെയ്തിരിക്കുന്നു." Binary files 2.1-1/formtools/locale/nl/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/nl/LC_MESSAGES/django.mo differ
  4. Download patch formtools/locale/es_AR/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/es_AR/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/es_AR/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,20 +1,20 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: # Jannis Leidel <jannis@leidel.info>, 2011 +# Ramiro Morales, 2015 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/" -"django-formtools/language/es_AR/)\n" -"Language: es_AR\n" +"PO-Revision-Date: 2017-09-23 20:16+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/django/django-formtools/language/es_AR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:7 @@ -23,28 +23,28 @@ msgstr "Herramientas de formularios" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Por favor corrija los siguientes errores" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Enviar" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Pre-visualizar" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Previsualizar lo que va a enviar" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Suma de verificación de seguridad: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "O modificar otra vez" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -60,6 +60,4 @@ msgstr "enviar" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" -"Los datos correspondientes al ManagementForm no existen o han sido " -"modificados" +msgstr "Los datos correspondientes al ManagementForm no existen o han sido modificados" Binary files 2.1-1/formtools/locale/et/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/et/LC_MESSAGES/django.mo differ
  5. Download patch debian/patches/add-use_required_attribute-false-in-test.patch

    --- 2.1-1/debian/patches/add-use_required_attribute-false-in-test.patch 2019-07-10 09:42:01.000000000 +0000 +++ 2.2-0ubuntu1/debian/patches/add-use_required_attribute-false-in-test.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -Description: Add use_required_attribute=False in test -Author: Thomas Goirand <zigo@debian.org> -Forwarded: no -Last-Update: 2019-07-10 - ---- python-django-formtools-2.1.orig/tests/tests.py -+++ python-django-formtools-2.1/tests/tests.py -@@ -191,7 +191,7 @@ class FormHmacTests(unittest.TestCase): - empty_permitted = True, or forms where data has not changed. - """ - f1 = HashTestBlankForm({}) -- f2 = HashTestForm({}, empty_permitted=True) -+ f2 = HashTestForm({}, empty_permitted=True, use_required_attribute=False) - hash1 = utils.form_hmac(f1) - hash2 = utils.form_hmac(f2) - self.assertEqual(hash1, hash2)
  6. Download patch tests/settings.py

    --- 2.1-1/tests/settings.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/tests/settings.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', @@ -30,14 +29,6 @@ MIDDLEWARE = [ 'django.contrib.auth.middleware.AuthenticationMiddleware', ] -# Django 1.9 and earlier -MIDDLEWARE_CLASSES = ( - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', -) - SITE_ID = 1 TEMPLATES = [{
  7. Download patch formtools/__init__.py

    --- 2.1-1/formtools/__init__.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/__init__.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,3 +1,3 @@ -__version__ = '2.1' +__version__ = '2.2' default_app_config = 'formtools.apps.FormToolsConfig' Binary files 2.1-1/formtools/locale/af/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/af/LC_MESSAGES/django.mo differ
  8. Download patch formtools/locale/ko/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/ko/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/ko/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,50 +1,52 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: -# Jeong Seongtae <magno79@gmail.com>, 2014 +# Ian Y. Choi <ianyrchoi@gmail.com>, 2016 +# Le Tartuffe <magno79@gmail.com>, 2014 +# Kyoung Up, Jung <perhapsspy@gmail.com>, 2016 +# Yeonsu Bak <yeonsubak@gmail.com>, 2015 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Korean (http://www.transifex.com/projects/p/django-formtools/" -"language/ko/)\n" -"Language: ko\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: Kyoung Up, Jung <perhapsspy@gmail.com>\n" +"Language-Team: Korean (http://www.transifex.com/django/django-formtools/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:7 msgid "Form Tools" -msgstr "" +msgstr "폼 도구" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "다음과 같은 오류들을 고치세요." #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "제출" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "미리보기" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "제출 미리보기" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "보안 해시: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "또는 다시 수정" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -60,4 +62,4 @@ msgstr "제출" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "관리폼 데이터가 없거나 변조되었습니다." Binary files 2.1-1/formtools/locale/lv/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/lv/LC_MESSAGES/django.mo differ
  9. Download patch formtools/locale/eo/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/eo/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/eo/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,21 +1,21 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: # Adamo Mesha <adam.raizen@gmail.com>, 2012 # Baptiste Darthenay <baptiste+transifex@darthenay.fr>, 2011 +# Nikolay Korotkiy <sikmir@gmail.com>, 2017 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-05 20:27+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/django-" -"formtools/language/eo/)\n" -"Language: eo\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: Nikolay Korotkiy <sikmir@gmail.com>\n" +"Language-Team: Esperanto (http://www.transifex.com/django/django-formtools/language/eo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:7 @@ -28,7 +28,7 @@ msgstr "" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Sendi" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" Binary files 2.1-1/formtools/locale/es_AR/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/es_AR/LC_MESSAGES/django.mo differ
  10. Download patch formtools/locale/af/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/af/LC_MESSAGES/django.po 1970-01-01 00:00:00.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/af/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -0,0 +1,62 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# F Wolff <friedel@translate.org.za>, 2019 +msgid "" +msgstr "" +"Project-Id-Version: django-formtools\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-03-25 09:31-0500\n" +"PO-Revision-Date: 2019-06-09 17:52+0000\n" +"Last-Translator: F Wolff <friedel@translate.org.za>\n" +"Language-Team: Afrikaans (http://www.transifex.com/django/django-formtools/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: apps.py:7 +msgid "Form Tools" +msgstr "Vormgereeedsksap" + +#: templates/formtools/form.html:6 +msgid "Please correct the following errors" +msgstr "Korrigeer asb. die volgende foute" + +#: templates/formtools/form.html:6 templates/formtools/preview.html:24 +msgid "Submit" +msgstr "Dien in" + +#: templates/formtools/form.html:13 templates/formtools/preview.html:34 +msgid "Preview" +msgstr "Voorskou" + +#: templates/formtools/preview.html:6 +msgid "Preview your submission" +msgstr "Voorskou van indiening" + +#: templates/formtools/preview.html:17 +#, python-format +msgid "Security hash: %(hash_value)s" +msgstr "Sekuriteitshutswaarde: %(hash_value)s" + +#: templates/formtools/preview.html:27 +msgid "Or edit it again" +msgstr "Of redigeer dit weer" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "first step" +msgstr "eerste stap" + +#: templates/formtools/wizard/wizard_form.html:17 +msgid "prev step" +msgstr "vorige stap" + +#: templates/formtools/wizard/wizard_form.html:19 +msgid "submit" +msgstr "dien in" + +#: wizard/views.py:276 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Data van ManagementForm ontbreek of is mee gepeuter." Binary files 2.1-1/formtools/locale/az/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/az/LC_MESSAGES/django.mo differ
  11. Download patch formtools/locale/th/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/th/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/th/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,21 +1,21 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: # Jannis Leidel <jannis@leidel.info>, 2011 +# Piyapong Thanatrakul <thanatrakul@gmail.com>, 2015 # Vichai Vongvorakul <vongvichai@gmail.com>, 2012 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Thai (http://www.transifex.com/projects/p/django-formtools/" -"language/th/)\n" -"Language: th\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: Piyapong Thanatrakul <thanatrakul@gmail.com>\n" +"Language-Team: Thai (http://www.transifex.com/django/django-formtools/language/th/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: th\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:7 @@ -32,7 +32,7 @@ msgstr "" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "ตัวอย่าง" #: templates/formtools/preview.html:6 msgid "Preview your submission" Binary files 2.1-1/formtools/locale/uk/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/uk/LC_MESSAGES/django.mo differ
  12. Download patch formtools/locale/hu/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/hu/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/hu/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,6 +1,7 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: +# András Veres-Szentkirályi, 2017 # Attila Nagy <>, 2012 # Jannis Leidel <jannis@leidel.info>, 2011 msgid "" @@ -8,44 +9,43 @@ msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Hungarian (http://www.transifex.com/projects/p/django-" -"formtools/language/hu/)\n" -"Language: hu\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: András Veres-Szentkirályi\n" +"Language-Team: Hungarian (http://www.transifex.com/django/django-formtools/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:7 msgid "Form Tools" -msgstr "" +msgstr "Űrlap eszközök" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Kérem javítsa a következő hibákat" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Küldés" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Előnézet" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Beküldésre váró adatok" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Biztonsági hash: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Vagy módosítsa alább" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -61,4 +61,4 @@ msgstr "küldés" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "ManagementForm adatok hiányoznak vagy belenyúltak" Binary files 2.1-1/formtools/locale/id/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/id/LC_MESSAGES/django.mo differ
  13. Download patch README.rst

    --- 2.1-1/README.rst 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/README.rst 2019-12-05 16:58:51.000000000 +0000 @@ -2,11 +2,25 @@ django-formtools ================ -.. image:: https://secure.travis-ci.org/django/django-formtools.svg - :target: http://travis-ci.org/django/django-formtools - -.. image:: https://coveralls.io/repos/django/django-formtools/badge.svg?branch=master - :target: https://coveralls.io/r/django/django-formtools +.. image:: https://jazzband.co/static/img/badge.svg + :alt: Jazzband + :target: https://jazzband.co/ + +.. image:: https://img.shields.io/pypi/v/django-formtools.svg + :alt: PyPI version + :target: https://pypi.org/project/django-formtools/ + +.. image:: https://img.shields.io/pypi/pyversions/django-formtools.svg + :alt: Supported Python versions + :target: https://pypi.org/project/django-formtools/ + +.. image:: https://img.shields.io/travis/jazzband/django-formtools/master.svg + :alt: TravisCI Build Status + :target: https://travis-ci.org/jazzband/django-formtools + +.. image:: https://img.shields.io/coveralls/jazzband/django-formtools/master.svg + :alt: Coveralls Test Coverage + :target: https://coveralls.io/r/jazzband/django-formtools?branch=master Django's "formtools" is a set of high-level abstractions for Django forms. Currently for form previews and multi-step forms. @@ -24,7 +38,46 @@ Package Index: https://pypi.python.org/p To get more help: * Join the #django channel on irc.freenode.net. Lots of helpful people hang out - there. Read the archives at http://django-irc-logs.com/. + there. Read the archives at https://botbot.me/freenode/django/. * Join the django-users mailing list, or read the archives, at https://groups.google.com/group/django-users. + +Contributing to django-formtools +-------------------------------- + +See ``CONTRIBUTING.rst`` for information about contributing patches to +``django-formtools``. + +Running tests is as simple as `installing Tox`__ and running it in the root +Git clone directory:: + + $ git clone https://github.com/jazzband/django-formtools + [..] + $ cd django-formtools + $ tox + [..] + congratulations :) + +The previous command will run the tests in different combinations of Python +(if available) and Django versions. To see the full list of combinations use +the ``-l`` option:: + + $ tox -l + ... + py35-django-AB + py35-django-master + +You can run each environment with the ``-e`` option:: + + $ tox -e py35-django-AB # runs the tests only on Python 3.5 and Django A.B.x + +Optionally you can also specify a country whose tests you want to run:: + + $ COUNTRY=us tox + +And combine both options:: + + $ COUNTRY=us tox -e py35-django-AB + +__ https://tox.readthedocs.io/en/latest/install.html
  14. Download patch formtools/locale/pl/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/pl/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/pl/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,66 +1,67 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: +# Adam Stachowicz <saibamenppl@gmail.com>, 2015 +# Adrian Antończyk <linkedin@antonczyk.it>, 2015 # angularcircle, 2012 # Jannis Leidel <jannis@leidel.info>, 2011 -# Janusz Harkot <jh@blueice.pl>, 2014 +# Janusz Harkot <jh@trilab.pl>, 2014 +# m_aciek <maciej.olko@gmail.com>, 2016-2017 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Polish (http://www.transifex.com/projects/p/django-formtools/" -"language/pl/)\n" -"Language: pl\n" +"PO-Revision-Date: 2017-09-23 20:16+0000\n" +"Last-Translator: m_aciek <maciej.olko@gmail.com>\n" +"Language-Team: Polish (http://www.transifex.com/django/django-formtools/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:7 msgid "Form Tools" -msgstr "Narzędzia fomularzy" +msgstr "Narzędzia formularzy" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Proszę poprawić następujące błędy" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Wyślij" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Podgląd" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Przejrzyj swoje zgłoszenie" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Hash bezpieczeństwa: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Lub edytuj je ponownie" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" -msgstr "Pierwszy krok" +msgstr "pierwszy krok" #: templates/formtools/wizard/wizard_form.html:17 msgid "prev step" -msgstr "Poprzedni krok" +msgstr "poprzedni krok" #: templates/formtools/wizard/wizard_form.html:19 msgid "submit" -msgstr "Wyślij" +msgstr "wyślij" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "Brakuje danych ManagementForm lub zostały one zmodyfikowane." +msgstr "Brakuje danych ManagementForm lub zostały naruszone." Binary files 2.1-1/formtools/locale/ro/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/ro/LC_MESSAGES/django.mo differ
  15. Download patch formtools/apps.py

    --- 2.1-1/formtools/apps.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/apps.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,5 +1,5 @@ from django.apps import AppConfig -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ class FormToolsConfig(AppConfig):
  16. Download patch CONTRIBUTING.rst

    --- 2.1-1/CONTRIBUTING.rst 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/CONTRIBUTING.rst 2019-12-05 16:58:51.000000000 +0000 @@ -1,55 +1,8 @@ -================================ -Contributing to django-formtools -================================ - -As an open source project, django-formtools welcomes contributions of many -forms, similar to its origin in the Django framework. - -Examples of contributions include: - -* Code patches -* Documentation improvements -* Bug reports and patch reviews - -Extensive contribution guidelines are available online at: - - https://docs.djangoproject.com/en/dev/internals/contributing/ - -`File a ticket`__ to suggest changes or send pull requests. - -django-formtools uses Github's issue system to keep track of bugs, feature -requests, and pull requests for patches. - -Running tests is as simple as `installing Tox`__ and running it in the root -Git clone directory:: - - $ git clone https://github.com/django/django-formtools - [..] - $ cd django-formtools - $ tox - [..] - congratulations :) - -The previous command will run the tests in different combinations of Python -(if available) and Django versions. To see the full list of combinations use -the ``-l`` option:: - - $ tox -l - ... - py35-django-AB - py35-django-master - -You can run each environment with the ``-e`` option:: - - $ tox -e py35-django-AB # runs the tests only on Python 3.5 and Django A.B.x - -Optionally you can also specify a country whose tests you want to run:: - - $ COUNTRY=us tox - -And combine both options:: - - $ COUNTRY=us tox -e py35-django-AB - -__ https://github.com/django/django-formtools/issues -__ https://tox.readthedocs.io/en/latest/install.html +.. image:: https://jazzband.co/static/img/jazzband.svg + :target: https://jazzband.co/ + :alt: Jazzband + +This is a `Jazzband <https://jazzband.co>`_ project. By contributing you agree +to abide by the `Contributor Code of Conduct +<https://jazzband.co/about/conduct>`_ and follow the `guidelines +<https://jazzband.co/about/guidelines>`_.
  17. Download patch formtools/utils.py

    --- 2.1-1/formtools/utils.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/utils.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,9 +1,5 @@ -from __future__ import unicode_literals - -# Do not try cPickle here (see #18340) import pickle -from django.utils import six from django.utils.crypto import salted_hmac @@ -19,7 +15,7 @@ def form_hmac(form): value = bf.data or '' else: value = bf.field.clean(bf.data) or '' - if isinstance(value, six.string_types): + if isinstance(value, str): value = value.strip() data.append((bf.name, value))
  18. Download patch formtools/locale/id/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/id/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/id/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,50 +1,51 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: +# Fery Setiawan <gembelweb@gmail.com>, 2015-2016 # rodin <romihardiyanto@gmail.com>, 2013 +# sage <laymonage@gmail.com>, 2019 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:18+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/django-" -"formtools/language/id/)\n" -"Language: id\n" +"PO-Revision-Date: 2019-02-28 07:18+0000\n" +"Last-Translator: sage <laymonage@gmail.com>\n" +"Language-Team: Indonesian (http://www.transifex.com/django/django-formtools/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:7 msgid "Form Tools" -msgstr "" +msgstr "Alat-alat Formulir" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Silahkan perbaiki kesalahan berikut" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Ajukan" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Pratinjau" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Pratinjau pengajuan" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Campuran keamanan: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Atau sunting lagi" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -52,12 +53,12 @@ msgstr "langkah pertama" #: templates/formtools/wizard/wizard_form.html:17 msgid "prev step" -msgstr "langkah pertama" +msgstr "langkah sebelumnya" #: templates/formtools/wizard/wizard_form.html:19 msgid "submit" -msgstr "langkah sebelumnya" +msgstr "ajukan" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "Data ManagementForm hilang atau telah diubah." Binary files 2.1-1/formtools/locale/is/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/is/LC_MESSAGES/django.mo differ
  19. Download patch tests/wizard/wizardtests/tests.py

    --- 2.1-1/tests/wizard/wizardtests/tests.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/tests/wizard/wizardtests/tests.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,20 +1,15 @@ -from __future__ import unicode_literals - import copy from django import forms from django.contrib.auth.models import User from django.test import TestCase, override_settings from django.test.client import RequestFactory -from django.utils._os import upath from formtools.wizard.views import CookieWizardView from .forms import temp_storage from .models import Poem, Poet -# On Python 2, __file__ may end with .pyc -THIS_FILE = upath(__file__.rstrip("c")) UPLOADED_FILE_NAME = 'tests.py' @@ -28,7 +23,7 @@ UserFormSet = forms.models.modelformset_ PoemFormSet = forms.models.inlineformset_factory(Poet, Poem, fields="__all__") -class WizardTests(object): +class WizardTests: def setUp(self): self.testuser, created = User.objects.get_or_create(username='testuser1') @@ -66,6 +61,18 @@ class WizardTests(object): {'name': ['This field is required.'], 'user': ['This field is required.']}) + def test_form_post_mgmt_data_missing(self): + wizard_step_data = self.wizard_step_data[0].copy() + + # remove management data + for key in list(wizard_step_data.keys()): + if "current_step" in key: + del wizard_step_data[key] + + response = self.client.post(self.wizard_url, wizard_step_data) + # view should return HTTP 400 Bad Request + self.assertEqual(response.status_code, 400) + def test_form_post_success(self): response = self.client.post(self.wizard_url, self.wizard_step_data[0]) wizard = response.context['wizard'] @@ -114,14 +121,14 @@ class WizardTests(object): self.assertEqual(response.context['wizard']['steps'].current, 'form2') post_data = self.wizard_step_data[1] - with open(upath(THIS_FILE), 'rb') as post_file: + with open(__file__, 'rb') as post_file: post_data['form2-file1'] = post_file response = self.client.post(self.wizard_url, post_data) self.assertEqual(response.status_code, 200) self.assertEqual(response.context['wizard']['steps'].current, 'form3') # Check that the file got uploaded properly. - with open(THIS_FILE, 'rb') as f, temp_storage.open(UPLOADED_FILE_NAME) as f2: + with open(__file__, 'rb') as f, temp_storage.open(UPLOADED_FILE_NAME) as f2: self.assertEqual(f.read(), f2.read()) response = self.client.post(self.wizard_url, self.wizard_step_data[2]) @@ -151,7 +158,7 @@ class WizardTests(object): self.assertEqual(response.status_code, 200) post_data = self.wizard_step_data[1] - with open(THIS_FILE, 'rb') as post_file: + with open(__file__, 'rb') as post_file: post_data['form2-file1'] = post_file response = self.client.post(self.wizard_url, post_data) self.assertEqual(response.status_code, 200) @@ -183,7 +190,7 @@ class WizardTests(object): self.assertEqual(response.status_code, 200) post_data = self.wizard_step_data[1] - with open(THIS_FILE, 'rb') as post_file: + with open(__file__, 'rb') as post_file: post_data['form2-file1'] = post_file response = self.client.post(self.wizard_url, post_data) self.assertEqual(response.status_code, 200) @@ -211,7 +218,7 @@ class WizardTests(object): self.assertEqual(response.context['wizard']['steps'].current, 'form2') post_data = self.wizard_step_data[1] - with open(THIS_FILE, 'rb') as post_file: + with open(__file__, 'rb') as post_file: post_data['form2-file1'] = post_file response = self.client.post(self.wizard_url, post_data) self.assertEqual(response.status_code, 200) @@ -343,7 +350,7 @@ class WizardTestGenericViewInterface(Tes See ticket #17148. """ def get_context_data(self, **kwargs): - context = super(TestWizard, self).get_context_data(**kwargs) + context = super().get_context_data(**kwargs) context['test_key'] = 'test_value' return context @@ -354,9 +361,9 @@ class WizardTestGenericViewInterface(Tes self.assertEqual(response.context_data['test_key'], 'test_value') def test_get_context_data_with_mixin(self): - class AnotherMixin(object): + class AnotherMixin: def get_context_data(self, **kwargs): - context = super(AnotherMixin, self).get_context_data(**kwargs) + context = super().get_context_data(**kwargs) context['another_key'] = 'another_value' return context @@ -368,7 +375,7 @@ class WizardTestGenericViewInterface(Tes See ticket #17148. """ def get_context_data(self, **kwargs): - context = super(TestWizard, self).get_context_data(**kwargs) + context = super().get_context_data(**kwargs) context['test_key'] = 'test_value' return context @@ -412,7 +419,7 @@ class WizardTestPrefix(TestCase): class WizardFormKwargsOverrideTests(TestCase): def setUp(self): - super(WizardFormKwargsOverrideTests, self).setUp() + super().setUp() self.rf = RequestFactory() # Create two users so we can filter by is_staff when handing our
  20. Download patch tests/wizard/namedwizardtests/tests.py

    --- 2.1-1/tests/wizard/namedwizardtests/tests.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/tests/wizard/namedwizardtests/tests.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,11 +1,9 @@ -from __future__ import unicode_literals - import copy from django.contrib.auth.models import User from django.http import QueryDict from django.test import TestCase, override_settings -from django.utils._os import upath +from django.urls import reverse from formtools.wizard.views import ( NamedUrlCookieWizardView, NamedUrlSessionWizardView, @@ -14,17 +12,10 @@ from formtools.wizard.views import ( from ..test_forms import Step1, Step2, get_request from .forms import temp_storage -try: - from django.urls import reverse -except ImportError: # Django 1.9 and earlier - from django.core.urlresolvers import reverse - -# On Python 2, __file__ may end with .pyc -THIS_FILE = upath(__file__).rstrip("c") UPLOADED_FILE_NAME = 'tests.py' -class NamedWizardTests(object): +class NamedWizardTests: def setUp(self): self.testuser, created = User.objects.get_or_create(username='testuser1') @@ -146,7 +137,7 @@ class NamedWizardTests(object): self.assertEqual(response.context['wizard']['steps'].current, 'form2') post_data = self.wizard_step_data[1] - with open(THIS_FILE, 'rb') as post_file: + with open(__file__, 'rb') as post_file: post_data['form2-file1'] = post_file response = self.client.post( reverse(self.wizard_urlname, @@ -158,7 +149,7 @@ class NamedWizardTests(object): self.assertEqual(response.context['wizard']['steps'].current, 'form3') # Check that the file got uploaded properly. - with open(THIS_FILE, 'rb') as f, temp_storage.open(UPLOADED_FILE_NAME) as f2: + with open(__file__, 'rb') as f, temp_storage.open(UPLOADED_FILE_NAME) as f2: self.assertEqual(f.read(), f2.read()) response = self.client.post( @@ -201,7 +192,7 @@ class NamedWizardTests(object): self.assertEqual(response.status_code, 200) post_data = self.wizard_step_data[1] - with open(THIS_FILE, 'rb') as post_file: + with open(__file__, 'rb') as post_file: post_data['form2-file1'] = post_file response = self.client.post( reverse(self.wizard_urlname, @@ -215,7 +206,7 @@ class NamedWizardTests(object): response = self.client.get(step2_url) self.assertEqual(response.status_code, 200) self.assertEqual(response.context['wizard']['steps'].current, 'form2') - with open(THIS_FILE, 'rb') as f, temp_storage.open(UPLOADED_FILE_NAME) as f2: + with open(__file__, 'rb') as f, temp_storage.open(UPLOADED_FILE_NAME) as f2: self.assertEqual(f.read(), f2.read()) response = self.client.post( @@ -264,7 +255,7 @@ class NamedWizardTests(object): self.assertEqual(response.status_code, 200) post_data = self.wizard_step_data[1] - with open(THIS_FILE, 'rb') as post_file: + with open(__file__, 'rb') as post_file: post_data['form2-file1'] = post_file response = self.client.post( reverse(self.wizard_urlname, @@ -373,7 +364,7 @@ class NamedCookieWizardTests(NamedWizard ) -class NamedFormTests(object): +class NamedFormTests: def test_revalidation(self): request = get_request() @@ -390,14 +381,14 @@ class NamedFormTests(object): class TestNamedUrlSessionWizardView(NamedUrlSessionWizardView): def dispatch(self, request, *args, **kwargs): - response = super(TestNamedUrlSessionWizardView, self).dispatch(request, *args, **kwargs) + response = super().dispatch(request, *args, **kwargs) return response, self class TestNamedUrlCookieWizardView(NamedUrlCookieWizardView): def dispatch(self, request, *args, **kwargs): - response = super(TestNamedUrlCookieWizardView, self).dispatch(request, *args, **kwargs) + response = super().dispatch(request, *args, **kwargs) return response, self
  21. Download patch debian/control

    --- 2.1-1/debian/control 2019-07-10 09:42:01.000000000 +0000 +++ 2.2-0ubuntu1/debian/control 2020-02-14 17:10:22.000000000 +0000 @@ -1,7 +1,8 @@ Source: python-django-formtools Section: python Priority: optional -Maintainer: Debian OpenStack <team+openstack@tracker.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian OpenStack <team+openstack@tracker.debian.org> Uploaders: Thomas Goirand <zigo@debian.org>, Build-Depends: @@ -15,8 +16,8 @@ Build-Depends-Indep: python3-coverage, python3-django, Standards-Version: 4.4.0 -Vcs-Browser: https://salsa.debian.org/openstack-team/python/python-django-formtools -Vcs-Git: https://salsa.debian.org/openstack-team/python/python-django-formtools.git +Vcs-Browser: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-django-formtools +Vcs-Git: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-django-formtools Homepage: http://django-formtools.readthedocs.org/en/latest/ Package: python-django-formtools-doc
  22. Download patch .travis.yml

    --- 2.1-1/.travis.yml 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/.travis.yml 2019-12-05 16:58:51.000000000 +0000 @@ -1,38 +1,46 @@ language: python env: - matrix: - - TOXENV=py27-django-18 - - TOXENV=py27-django-19 - - TOXENV=py27-django-110 - - TOXENV=py27-django-111 - - TOXENV=py34-django-18 - - TOXENV=py34-django-19 - - TOXENV=py34-django-110 - - TOXENV=py34-django-111 - - TOXENV=py34-django-20 global: - PIP_WHEEL_DIR=$HOME/.wheels - PIP_FIND_LINKS=file://$HOME/.wheels matrix: include: - - python: 3.5 - env: TOXENV=py35-django-18 - - python: 3.5 - env: TOXENV=py35-django-19 - - python: 3.5 - env: TOXENV=py35-django-110 + - python: 3.4 + env: TOXENV=py34-django-111 + - python: 3.4 + env: TOXENV=py34-django-20 - python: 3.5 env: TOXENV=py35-django-111 - python: 3.5 env: TOXENV=py35-django-20 - python: 3.5 - env: TOXENV=py35-django-master + env: TOXENV=py35-django-21 + - python: 3.5 + env: TOXENV=py35-django-22 - python: 3.6 env: TOXENV=py36-django-111 - python: 3.6 env: TOXENV=py36-django-20 - python: 3.6 + env: TOXENV=py36-django-21 + - python: 3.6 + env: TOXENV=py36-django-22 + - python: 3.6 + env: TOXENV=py36-django-30 + - python: 3.6 env: TOXENV=py36-django-master + - python: 3.7 + env: TOXENV=py37-django-111 + - python: 3.7 + env: TOXENV=py37-django-20 + - python: 3.7 + env: TOXENV=py37-django-21 + - python: 3.7 + env: TOXENV=py37-django-22 + - python: 3.7 + env: TOXENV=py37-django-30 + - python: 3.7 + env: TOXENV=py37-django-master install: - mkdir -p $PIP_WHEEL_DIR - pip wheel -r tests/requirements.txt tox coveralls
  23. Download patch tox.ini

    --- 2.1-1/tox.ini 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/tox.ini 2019-12-05 16:58:51.000000000 +0000 @@ -1,26 +1,25 @@ [tox] args_are_paths = false envlist = - {py27,py34}-django-{18,19,110,111} - py34-django-20 - py35-django-{18,19,110,111,20,master} - py36-django-{111,20,master} + py34-django-{111,20} + {py35,py36,py37}-django-{111,20,21,22} + {py36,py37}-django-{30,master} [testenv] basepython = - py27: python2.7 py34: python3.4 py35: python3.5 py36: python3.6 + py37: python3.7 usedevelop = true whitelist_externals = make commands = make test pip_pre = true deps = - django-18: Django>=1.8,<1.9 - django-19: Django>=1.9,<1.10 - django-110: Django>=1.10a1,<1.11 django-111: Django>=1.11a1,<2.0 django-20: Django>=2.0a1,<2.1 + django-21: Django>=2.1a1,<2.2 + django-22: Django>=2.2a1,<3.0 + django-30: Django>=3.0a1,<3.1 django-master: https://github.com/django/django/archive/master.tar.gz -r{toxinidir}/tests/requirements.txt
  24. Download patch formtools/locale/uk/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/uk/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/uk/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,24 +1,23 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: # Jannis Leidel <jannis@leidel.info>, 2011 # Max V. Stotsky <transifex@ms.pereslavl.ru>, 2014 # Sergey Lysach <sergikoff88@gmail.com>, 2012 +# Zoriana Zaiats, 2016 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-28 03:30+0000\n" -"Last-Translator: Max V. Stotsky <transifex@ms.pereslavl.ru>\n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/django-" -"formtools/language/uk/)\n" -"Language: uk\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: Zoriana Zaiats\n" +"Language-Team: Ukrainian (http://www.transifex.com/django/django-formtools/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" #: apps.py:7 msgid "Form Tools" @@ -38,16 +37,16 @@ msgstr "Попередній перег #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Попередній перегляд подання" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Хеш безпеки: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Або відредагувати знову" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" Binary files 2.1-1/formtools/locale/vi/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/vi/LC_MESSAGES/django.mo differ
  25. Download patch formtools/wizard/storage/base.py

    --- 2.1-1/formtools/wizard/storage/base.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/wizard/storage/base.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,11 +1,10 @@ from django.core.files.uploadedfile import UploadedFile -from django.utils import six from django.utils.datastructures import MultiValueDict from .exceptions import NoFileStorageConfigured -class BaseStorage(object): +class BaseStorage: step_key = 'step' step_data_key = 'step_data' step_files_key = 'step_files' @@ -31,8 +30,8 @@ class BaseStorage(object): # at the end of the response cycle through a callback attached in # `update_response`. wizard_files = self.data[self.step_files_key] - for step_files in six.itervalues(wizard_files): - for step_file in six.itervalues(step_files): + for step_files in wizard_files.values(): + for step_file in step_files.values(): self._tmp_files.append(step_file['tmp_name']) self.init_data() @@ -94,7 +93,7 @@ class BaseStorage(object): "wizard view in order to handle file uploads.") files = {} - for field, field_dict in six.iteritems(wizard_files): + for field, field_dict in wizard_files.items(): field_dict = field_dict.copy() tmp_name = field_dict.pop('tmp_name') if (step, field) not in self._files: @@ -112,7 +111,7 @@ class BaseStorage(object): if step not in self.data[self.step_files_key]: self.data[self.step_files_key][step] = {} - for field, field_file in six.iteritems(files or {}): + for field, field_file in (files or {}).items(): tmp_filename = self.file_storage.save(field_file.name, field_file) file_dict = { 'tmp_name': tmp_filename,
  26. Download patch formtools/locale/is/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/is/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/is/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,22 +1,22 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: # Hafsteinn Einarsson <haffi67@gmail.com>, 2012 # Jannis Leidel <jannis@leidel.info>, 2011 +# Thordur Sigurdsson <thordur@ja.is>, 2019 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-05 20:40+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Icelandic (http://www.transifex.com/projects/p/django-" -"formtools/language/is/)\n" -"Language: is\n" +"PO-Revision-Date: 2019-01-18 16:01+0000\n" +"Last-Translator: Thordur Sigurdsson <thordur@ja.is>\n" +"Language-Team: Icelandic (http://www.transifex.com/django/django-formtools/language/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" #: apps.py:7 msgid "Form Tools" @@ -24,15 +24,15 @@ msgstr "" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Vinsamlegast leiðréttu villurnar" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Senda" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Skoða" #: templates/formtools/preview.html:6 msgid "Preview your submission" @@ -45,7 +45,7 @@ msgstr "" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Eða breyta þessu aftur" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -61,4 +61,4 @@ msgstr "Senda" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "Gögn fyrir ManagementForm vantar eða hefur verið breytt." Binary files 2.1-1/formtools/locale/ja/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/ja/LC_MESSAGES/django.mo differ
  27. Download patch tests/wizard/wizardtests/forms.py

    --- 2.1-1/tests/wizard/wizardtests/forms.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/tests/wizard/wizardtests/forms.py 2019-12-05 16:58:51.000000000 +0000 @@ -50,7 +50,7 @@ class ContactWizard(WizardView): return HttpResponse(Template('').render(c)) def get_context_data(self, form, **kwargs): - context = super(ContactWizard, self).get_context_data(form, **kwargs) + context = super().get_context_data(form, **kwargs) if self.storage.current_step == 'form2': context.update({'another_var': True}) return context
  28. Download patch docs/wizard.rst

    --- 2.1-1/docs/wizard.rst 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/docs/wizard.rst 2019-12-05 16:58:51.000000000 +0000 @@ -5,10 +5,10 @@ Form wizard .. module:: formtools.wizard.views :synopsis: Splits forms across multiple Web pages. -Django comes with an optional "form wizard" application that splits -:mod:`forms <django.forms>` across multiple Web pages. It maintains -state in one of the backends so that the full server-side processing can be -delayed until the submission of the final form. +The form wizard application splits :mod:`forms <django.forms>` across +multiple Web pages. It maintains state in one of the backends so that the +full server-side processing can be delayed until the submission of the final +form. You might want to use this if you have a lengthy form that would be too unwieldy for display on a single page. The first page might ask the user for @@ -411,7 +411,7 @@ Advanced ``WizardView`` methods Example to add extra variables for a specific step:: def get_context_data(self, form, **kwargs): - context = super(MyWizard, self).get_context_data(form=form, **kwargs) + context = super().get_context_data(form=form, **kwargs) if self.steps.current == 'my_step_name': context.update({'another_var': True}) return context @@ -453,7 +453,7 @@ Advanced ``WizardView`` methods Example code to add a user attribute to the form on step 2:: def get_form(self, step=None, data=None, files=None): - form = super(MyWizard, self).get_form(step, data, files) + form = super().get_form(step, data, files) # determine the step if not given if step is None:
  29. Download patch docs/conf.py

    --- 2.1-1/docs/conf.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/docs/conf.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -# # django-formtools documentation build configuration file, created by # sphinx-quickstart on Mon Oct 6 21:51:30 2014. # @@ -46,8 +44,8 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -project = u'django-formtools' -copyright = u'2014, Django Software Foundation and individual contributors' +project = 'django-formtools' +copyright = '2014, Django Software Foundation and individual contributors' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -197,8 +195,8 @@ latex_elements = { # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('index', 'django-formtools.tex', u'django-formtools Documentation', - u'Django Software Foundation and individual contributors', 'manual'), + ('index', 'django-formtools.tex', 'django-formtools Documentation', + 'Django Software Foundation and individual contributors', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -227,8 +225,8 @@ latex_documents = [ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'django-formtools', u'django-formtools Documentation', - [u'Django Software Foundation and individual contributors'], 1) + ('index', 'django-formtools', 'django-formtools Documentation', + ['Django Software Foundation and individual contributors'], 1) ] # If true, show URL addresses after external links. @@ -241,8 +239,8 @@ man_pages = [ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'django-formtools', u'django-formtools Documentation', - u'Django Software Foundation and individual contributors', 'django-formtools', 'One line description of project.', + ('index', 'django-formtools', 'django-formtools Documentation', + 'Django Software Foundation and individual contributors', 'django-formtools', 'One line description of project.', 'Miscellaneous'), ] @@ -262,10 +260,10 @@ texinfo_documents = [ # -- Options for Epub output --------------------------------------------------- # Bibliographic Dublin Core info. -epub_title = u'django-formtools' -epub_author = u'Django Software Foundation and individual contributors' -epub_publisher = u'Django Software Foundation and individual contributors' -epub_copyright = u'2014, Django Software Foundation and individual contributors' +epub_title = 'django-formtools' +epub_author = 'Django Software Foundation and individual contributors' +epub_publisher = 'Django Software Foundation and individual contributors' +epub_copyright = '2014, Django Software Foundation and individual contributors' # The language of the text. It defaults to the language option # or en if the language is not set.
  30. Download patch tests/wizard/wizardtests/models.py

    --- 2.1-1/tests/wizard/wizardtests/models.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/tests/wizard/wizardtests/models.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,9 +1,6 @@ -# coding: utf-8 from django.db import models -from django.utils.encoding import python_2_unicode_compatible -@python_2_unicode_compatible class Poet(models.Model): name = models.CharField(max_length=100) @@ -14,7 +11,6 @@ class Poet(models.Model): return self.name -@python_2_unicode_compatible class Poem(models.Model): poet = models.ForeignKey(Poet, on_delete=models.CASCADE) name = models.CharField(max_length=100)
  31. Download patch tests/wizard/storage.py

    --- 2.1-1/tests/wizard/storage.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/tests/wizard/storage.py 2019-12-05 16:58:51.000000000 +0000 @@ -20,7 +20,7 @@ def get_request(): return request -class TestStorage(object): +class TestStorage: def setUp(self): self.testuser, created = User.objects.get_or_create(username='testuser1')
  32. Download patch formtools/preview.py

    --- 2.1-1/formtools/preview.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/preview.py 2019-12-05 16:58:51.000000000 +0000 @@ -10,7 +10,7 @@ from .utils import form_hmac AUTO_ID = 'formtools_%s' # Each form here uses this as its auto_id parameter. -class FormPreview(object): +class FormPreview: preview_template = 'formtools/preview.html' form_template = 'formtools/form.html' @@ -118,7 +118,7 @@ class FormPreview(object): For example, this URLconf captures a user_id variable:: - (r'^contact/(?P<user_id>\d{1,6})/$', MyFormPreview(MyForm)), + path('contact/<int:user_id>/', MyFormPreview(MyForm)), In this case, the kwargs variable in parse_params would be ``{'user_id': 32}`` for a request to ``'/contact/32/'``. You can use
  33. Download patch formtools/locale/br/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/br/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/br/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,50 +1,50 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: # Fulup <fulup.jakez@gmail.com>, 2012 +# Irriep Nala Novram <allannkorh@yahoo.fr>, 2018 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Breton (http://www.transifex.com/projects/p/django-formtools/" -"language/br/)\n" -"Language: br\n" +"PO-Revision-Date: 2018-10-20 01:55+0000\n" +"Last-Translator: Irriep Nala Novram <allannkorh@yahoo.fr>\n" +"Language-Team: Breton (http://www.transifex.com/django/django-formtools/language/br/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: br\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n" #: apps.py:7 msgid "Form Tools" -msgstr "" +msgstr "Ostilhoù furm" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Reizhit ar fazioù da heul mar plij" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Kas" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Rakwelet" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Rakwelet ho kasadenn" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Bouc'haladur surentez: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Pe aozit anezhañ adarre" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -60,4 +60,4 @@ msgstr "kas" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "Roadennoù furm-meradur a vank pe a zo bet falset." Binary files 2.1-1/formtools/locale/da/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/da/LC_MESSAGES/django.mo differ
  34. Download patch formtools/locale/ja/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/ja/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/ja/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,20 +1,20 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: +# xiu1 <d84ea@hotmail.co.jp>, 2015 # Jannis Leidel <jannis@leidel.info>, 2011 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Japanese (http://www.transifex.com/projects/p/django-" -"formtools/language/ja/)\n" -"Language: ja\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: xiu1 <d84ea@hotmail.co.jp>\n" +"Language-Team: Japanese (http://www.transifex.com/django/django-formtools/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:7 @@ -23,28 +23,28 @@ msgstr "フォームツール" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "下記のエラーを修正してください" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "送信" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "プレビュー" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "投稿のプレビュー" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "セキュリティハッシュ: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "または、もう一度編集" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" Binary files 2.1-1/formtools/locale/ko/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/ko/LC_MESSAGES/django.mo differ
  35. Download patch formtools/locale/da/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/da/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/da/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,21 +1,21 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: # Christian Joergensen <christian@gmta.info>, 2012 +# Erik Wognsen <r4mses@gmail.com>, 2019 # Jannis Leidel <jannis@leidel.info>, 2011 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Danish (http://www.transifex.com/projects/p/django-formtools/" -"language/da/)\n" -"Language: da\n" +"PO-Revision-Date: 2019-07-05 20:06+0000\n" +"Last-Translator: Erik Wognsen <r4mses@gmail.com>\n" +"Language-Team: Danish (http://www.transifex.com/django/django-formtools/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:7 @@ -24,28 +24,28 @@ msgstr "Formularværktøjer" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Ret venligst de følgende fejl" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Send" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Forhåndsvis" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Forhåndsvis din indsendelse" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Sikkerheds-hash: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Eller rediger den igen" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" Binary files 2.1-1/formtools/locale/el/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/el/LC_MESSAGES/django.mo differ
  36. Download patch formtools/locale/vi/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/vi/LC_MESSAGES/django.po 1970-01-01 00:00:00.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/vi/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -0,0 +1,62 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Tran Van <vantxm@yahoo.co.uk>, 2016 +msgid "" +msgstr "" +"Project-Id-Version: django-formtools\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-03-25 09:31-0500\n" +"PO-Revision-Date: 2017-09-23 20:16+0000\n" +"Last-Translator: Tran Van <vantxm@yahoo.co.uk>\n" +"Language-Team: Vietnamese (http://www.transifex.com/django/django-formtools/language/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: apps.py:7 +msgid "Form Tools" +msgstr "Form Tools" + +#: templates/formtools/form.html:6 +msgid "Please correct the following errors" +msgstr "Hãy sửa các lỗi dưới đây" + +#: templates/formtools/form.html:6 templates/formtools/preview.html:24 +msgid "Submit" +msgstr "Gửi" + +#: templates/formtools/form.html:13 templates/formtools/preview.html:34 +msgid "Preview" +msgstr "Xem trước" + +#: templates/formtools/preview.html:6 +msgid "Preview your submission" +msgstr "Xem trước bình luận của bạn" + +#: templates/formtools/preview.html:17 +#, python-format +msgid "Security hash: %(hash_value)s" +msgstr "Mã bảo mật: %(hash_value)s" + +#: templates/formtools/preview.html:27 +msgid "Or edit it again" +msgstr "Hoặc biên tập lại" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "first step" +msgstr "Bước một" + +#: templates/formtools/wizard/wizard_form.html:17 +msgid "prev step" +msgstr "Quay lại" + +#: templates/formtools/wizard/wizard_form.html:19 +msgid "submit" +msgstr "gửi" + +#: wizard/views.py:276 +msgid "ManagementForm data is missing or has been tampered." +msgstr "Dữ liệu trong Form bị thiếu hoặc bị giả mạo." Binary files 2.1-1/formtools/locale/zh_CN/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/zh_CN/LC_MESSAGES/django.mo differ
  37. Download patch debian/patches/series

    --- 2.1-1/debian/patches/series 2019-07-10 09:42:01.000000000 +0000 +++ 2.2-0ubuntu1/debian/patches/series 2020-02-14 17:10:22.000000000 +0000 @@ -1,2 +1 @@ no-intersphinx.patch -add-use_required_attribute-false-in-test.patch
  38. Download patch formtools/locale/nl/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/nl/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/nl/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,7 +1,8 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: -# Bouke Haarsma <bouke@webatoom.nl>, 2013 +# Bouke Haarsma <bouke@haarsma.eu>, 2013 +# Evelijn Saaltink <evelijnsaaltink@gmail.com>, 2016 # Jannis Leidel <jannis@leidel.info>, 2011 # Jeffrey Gelens <jeffrey@noppo.pro>, 2012 msgid "" @@ -9,44 +10,43 @@ msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:19+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/django-formtools/" -"language/nl/)\n" -"Language: nl\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: Evelijn Saaltink <evelijnsaaltink@gmail.com>\n" +"Language-Team: Dutch (http://www.transifex.com/django/django-formtools/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:7 msgid "Form Tools" -msgstr "" +msgstr "Hulpmiddelen voor formulieren" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Herstel de fouten hieronder" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Versturen" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Voorbeeld" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Toon een voorbeeld van je inzending" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Beveiligingshash: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Of wijzig het opnieuw" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -62,4 +62,4 @@ msgstr "verzenden" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "Gegevens van ManagementForm missen of zijn aangetast." Binary files 2.1-1/formtools/locale/pl/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/pl/LC_MESSAGES/django.mo differ
  39. Download patch setup.py

    --- 2.1-1/setup.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/setup.py 2019-12-05 16:58:51.000000000 +0000 @@ -79,9 +79,8 @@ def find_package_data(where='.', package if (fnmatchcase(name, pattern) or fn.lower() == pattern.lower()): bad_name = True if show_ignored: - print >> sys.stderr, ( - "Directory %s ignored by pattern %s" - % (fn, pattern)) + print("Directory %s ignored by pattern %s" % (fn, pattern), + file=sys.stderr) break if bad_name: continue @@ -100,9 +99,8 @@ def find_package_data(where='.', package if (fnmatchcase(name, pattern) or fn.lower() == pattern.lower()): bad_name = True if show_ignored: - print >> sys.stderr, ( - "File %s ignored by pattern %s" - % (fn, pattern)) + print("File %s ignored by pattern %s" % (fn, pattern), + file=sys.stderr) break if bad_name: continue @@ -121,26 +119,25 @@ setup( author_email='foundation@djangoproject.com', packages=find_packages(exclude=['tests', 'tests.*']), package_data=find_package_data(), - install_requires=['Django>=1.8'], + install_requires=['Django>=1.11'], classifiers=[ 'Development Status :: 5 - Production/Stable', 'Environment :: Web Environment', 'Framework :: Django', - 'Framework :: Django :: 1.8', - 'Framework :: Django :: 1.9', - 'Framework :: Django :: 1.10', 'Framework :: Django :: 1.11', 'Framework :: Django :: 2.0', + 'Framework :: Django :: 2.1', + 'Framework :: Django :: 2.2', + 'Framework :: Django :: 3.0', 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', 'Topic :: Internet :: WWW/HTTP', ], zip_safe=False,
  40. Download patch formtools/locale/ro/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/ro/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/ro/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,52 +1,52 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: -# Denis Darii <sinednx@gmail.com>, 2014 +# Bogdan Mateescu, 2018 +# Denis Darii <denis.darii@gmail.com>, 2014 # mihneasim <contact@mesimian.com>, 2013 +# Razvan Stefanescu <razvan.stefanescu@gmail.com>, 2015 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/django-" -"formtools/language/ro/)\n" -"Language: ro\n" +"PO-Revision-Date: 2018-04-26 12:11+0000\n" +"Last-Translator: Bogdan Mateescu\n" +"Language-Team: Romanian (http://www.transifex.com/django/django-formtools/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:7 msgid "Form Tools" -msgstr "" +msgstr "Unelte pentru Formulare" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Te rog să corectezi următoarele erori" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Trimite" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Vizualizare" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Vizualizează datele completate" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Hash de securitate: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Sau modifică în continuare" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -62,4 +62,4 @@ msgstr "confirmă" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "Datele din ManagementForm lipsesc sau au fost falsificate." Binary files 2.1-1/formtools/locale/sr/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/sr/LC_MESSAGES/django.mo differ
  41. Download patch formtools/locale/el/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/el/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/el/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,20 +1,21 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: -# Panos Laganakos <panos.laganakos@gmail.com>, 2014 +# Nick Mavrakis <mavrakis.n@gmail.com>, 2016 +# Pãnoș <panos.laganakos@gmail.com>, 2014 +# Pãnoș <panos.laganakos@gmail.com>, 2016 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-05 20:27+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Greek (http://www.transifex.com/projects/p/django-formtools/" -"language/el/)\n" -"Language: el\n" +"PO-Revision-Date: 2017-09-23 20:16+0000\n" +"Last-Translator: Pãnoș <panos.laganakos@gmail.com>\n" +"Language-Team: Greek (http://www.transifex.com/django/django-formtools/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:7 @@ -23,28 +24,28 @@ msgstr "Eργαλεία Φόρμας" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Παρακαλούμε διορθώστε τα ακόλουθα σφάλματα" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Υποβολή" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Προεπισκόπηση" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Δείτε την καταχώρηση σας" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Security hash: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Ή επεξεργαστείτε το ξανά" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -52,11 +53,11 @@ msgstr "πρώτο βήμα" #: templates/formtools/wizard/wizard_form.html:17 msgid "prev step" -msgstr "επόμενο βήμα" +msgstr "προηγούμενο βήμα" #: templates/formtools/wizard/wizard_form.html:19 msgid "submit" -msgstr "αποδοχή" +msgstr "υποβολή" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." Binary files 2.1-1/formtools/locale/eo/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/eo/LC_MESSAGES/django.mo differ
  42. Download patch formtools/wizard/storage/session.py

    --- 2.1-1/formtools/wizard/storage/session.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/wizard/storage/session.py 2019-12-05 16:58:51.000000000 +0000 @@ -4,7 +4,7 @@ from .base import BaseStorage class SessionStorage(BaseStorage): def __init__(self, *args, **kwargs): - super(SessionStorage, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) if self.prefix not in self.request.session: self.init_data()
  43. Download patch formtools/locale/fa/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/fa/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/fa/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,52 +1,52 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: # Ali Nikneshan <ali@nikneshan.com>, 2012 # Jannis Leidel <jannis@leidel.info>, 2011 +# Pouya Abbassi, 2016 # Reza Mohammadi <reza@teeleh.ir>, 2013 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Persian (http://www.transifex.com/projects/p/django-formtools/" -"language/fa/)\n" -"Language: fa\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: Pouya Abbassi\n" +"Language-Team: Persian (http://www.transifex.com/django/django-formtools/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:7 msgid "Form Tools" -msgstr "" +msgstr "ابزار فورم" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "لطفا خطاهای زیر را اصلاح کنید" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "ارسال" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "بازنگری" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "بازنگری ارسال شما" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "درهم‌سازی امنیتی: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "یا مجددا ویرایش کنید" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -62,4 +62,4 @@ msgstr "ارسال" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "اطلاعات فورم مدیریت ناقص بوده یا دستکاری شده است." Binary files 2.1-1/formtools/locale/gd/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/gd/LC_MESSAGES/django.mo differ
  44. Download patch formtools/locale/et/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/et/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/et/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,22 +1,22 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: # Janno Liivak <jannolii@gmail.com>, 2013 -# Martin <martinpajuste@gmail.com>, 2015 +# Martin Pajuste <martinpajuste@gmail.com>, 2015-2016 +# Martin Pajuste <martinpajuste@gmail.com>, 2017 # Marti Raudsepp <marti@juffo.org>, 2014 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2015-03-21 21:57+0000\n" -"Last-Translator: Martin <martinpajuste@gmail.com>\n" -"Language-Team: Estonian (http://www.transifex.com/projects/p/django-" -"formtools/language/et/)\n" -"Language: et\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: Martin Pajuste <martinpajuste@gmail.com>\n" +"Language-Team: Estonian (http://www.transifex.com/django/django-formtools/language/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:7 @@ -25,7 +25,7 @@ msgstr "Vormi Tööriistad" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Palun parandage järgnevad vead" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" @@ -46,7 +46,7 @@ msgstr "" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Või muuda uuesti" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" Binary files 2.1-1/formtools/locale/eu/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/eu/LC_MESSAGES/django.mo differ
  45. Download patch formtools/locale/lv/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/lv/LC_MESSAGES/django.po 1970-01-01 00:00:00.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/lv/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -0,0 +1,62 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Māris Nartišs <maris.gis@gmail.com>, 2016 +msgid "" +msgstr "" +"Project-Id-Version: django-formtools\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-03-25 09:31-0500\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: Māris Nartišs <maris.gis@gmail.com>\n" +"Language-Team: Latvian (http://www.transifex.com/django/django-formtools/language/lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" + +#: apps.py:7 +msgid "Form Tools" +msgstr "Formu rīki" + +#: templates/formtools/form.html:6 +msgid "Please correct the following errors" +msgstr "Lūdzu izlabojiet sekojošas kļūdas" + +#: templates/formtools/form.html:6 templates/formtools/preview.html:24 +msgid "Submit" +msgstr "Iesniegt" + +#: templates/formtools/form.html:13 templates/formtools/preview.html:34 +msgid "Preview" +msgstr "Priekšskatījums" + +#: templates/formtools/preview.html:6 +msgid "Preview your submission" +msgstr "Priekšskatīt pirms iesniegšanas" + +#: templates/formtools/preview.html:17 +#, python-format +msgid "Security hash: %(hash_value)s" +msgstr "Drošības hash: %(hash_value)s" + +#: templates/formtools/preview.html:27 +msgid "Or edit it again" +msgstr "Vai rediģējiet atkal" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "first step" +msgstr "pirmais solis" + +#: templates/formtools/wizard/wizard_form.html:17 +msgid "prev step" +msgstr "iepriekšējais solis" + +#: templates/formtools/wizard/wizard_form.html:19 +msgid "submit" +msgstr "iesniegt" + +#: wizard/views.py:276 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm dati iztrūkst vai arī tie ir mainīti." Binary files 2.1-1/formtools/locale/ml/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/ml/LC_MESSAGES/django.mo differ
  46. Download patch formtools/locale/zh_CN/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/zh_CN/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/zh_CN/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,22 +1,22 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: # Jannis Leidel <jannis@leidel.info>, 2011 -# ouyanghongyu <ouyanghongyu@gmail.com>, 2014 -# Ziang Song <songziang@gmail.com>, 2012 +# Ronald White <tkliuxing@me.com>, 2014 +# pylemon <leeway1985@gmail.com>, 2015 +# ced773123cfad7b4e8b79ca80f736af9, 2012 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:31+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/django-" -"formtools/language/zh_CN/)\n" -"Language: zh_CN\n" +"PO-Revision-Date: 2017-09-20 12:01+0000\n" +"Last-Translator: pylemon <leeway1985@gmail.com>\n" +"Language-Team: Chinese (China) (http://www.transifex.com/django/django-formtools/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:7 @@ -25,28 +25,28 @@ msgstr "表单工具" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "请更正下列错误。" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "提交" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "预览" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "预览你的提交" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "安全散列: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "或再次编辑" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -62,4 +62,4 @@ msgstr "提交" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "ManagementForm 数据丢失或已被篡改"
  47. Download patch docs/changelog.rst

    --- 2.1-1/docs/changelog.rst 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/docs/changelog.rst 2019-12-05 16:58:51.000000000 +0000 @@ -3,6 +3,17 @@ Changelog This page details the changes in the various ``django-formtools`` releases. +2.2 (2019-12-05) +---------------- + +- Dropped testing for Django 1.8, 1.9, 1.10. + +- Dropped support for Python 2. + +- Added support for Django 2.1, 2.2, 3.0, and Python 3.7. + +- Updated translations from Transifex. + 2.1 (2017-10-04) ----------------
  48. Download patch debian/gbp.conf

    --- 2.1-1/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ 2.2-0ubuntu1/debian/gbp.conf 2020-02-14 17:10:22.000000000 +0000 @@ -0,0 +1,7 @@ +[DEFAULT] +debian-branch = master +upstream-tag = %(version)s +pristine-tar = True + +[buildpackage] +export-dir = ../build-area
  49. Download patch tests/wizard/test_forms.py

    --- 2.1-1/tests/wizard/test_forms.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/tests/wizard/test_forms.py 2019-12-05 16:58:51.000000000 +0000 @@ -1,5 +1,3 @@ -from __future__ import unicode_literals - from importlib import import_module from django import forms, http @@ -16,7 +14,7 @@ from formtools.wizard.views import ( class DummyRequest(http.HttpRequest): def __init__(self, POST=None): - super(DummyRequest, self).__init__() + super().__init__() self.method = "POST" if POST else "GET" if POST is not None: self.POST.update(POST) @@ -47,7 +45,7 @@ class CustomKwargsStep1(Step1): def __init__(self, test=None, *args, **kwargs): self.test = test - super(CustomKwargsStep1, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) class TestModel(models.Model): @@ -70,11 +68,11 @@ class TestWizard(WizardView): storage_name = 'formtools.wizard.storage.session.SessionStorage' def dispatch(self, request, *args, **kwargs): - response = super(TestWizard, self).dispatch(request, *args, **kwargs) + response = super().dispatch(request, *args, **kwargs) return response, self def get_form_kwargs(self, step, *args, **kwargs): - kwargs = super(TestWizard, self).get_form_kwargs(step, *args, **kwargs) + kwargs = super().get_form_kwargs(step, *args, **kwargs) if step == 'kwargs_test': kwargs['test'] = True return kwargs @@ -146,6 +144,19 @@ class FormTests(TestCase): response, instance = testform(request) self.assertEqual(instance.get_next_step(), 'step2') + def test_form_condition_unstable(self): + request = get_request() + testform = TestWizard.as_view( + [('start', Step1), ('step2', Step2), ('step3', Step3)], + condition_dict={'step2': True} + ) + response, instance = testform(request) + self.assertEqual(instance.get_step_index('step2'), 1) + self.assertEqual(instance.get_next_step('step2'), 'step3') + instance.condition_dict['step2'] = False + self.assertEqual(instance.get_step_index('step2'), None) + self.assertEqual(instance.get_next_step('step2'), 'start') + def test_form_kwargs(self): request = get_request() testform = TestWizard.as_view([
  50. Download patch formtools/wizard/storage/cookie.py

    --- 2.1-1/formtools/wizard/storage/cookie.py 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/wizard/storage/cookie.py 2019-12-05 16:58:51.000000000 +0000 @@ -7,7 +7,7 @@ class CookieStorage(BaseStorage): encoder = json.JSONEncoder(separators=(',', ':')) def __init__(self, *args, **kwargs): - super(CookieStorage, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.data = self.load_data() if self.data is None: self.init_data() @@ -19,7 +19,7 @@ class CookieStorage(BaseStorage): return json.loads(data, cls=json.JSONDecoder) def update_response(self, response): - super(CookieStorage, self).update_response(response) + super().update_response(response) if self.data: response.set_signed_cookie(self.prefix, self.encoder.encode(self.data))
  51. Download patch formtools/locale/sr/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/sr/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/sr/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,6 +1,7 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: +# Branko Kokanovic <branko@kokanovic.org>, 2018 # Jannis Leidel <jannis@leidel.info>, 2011 # Janos Guljas <janos@resenje.org>, 2012 msgid "" @@ -8,45 +9,43 @@ msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-06 19:18+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/django-formtools/" -"language/sr/)\n" -"Language: sr\n" +"PO-Revision-Date: 2018-12-02 21:27+0000\n" +"Last-Translator: Branko Kokanovic <branko@kokanovic.org>\n" +"Language-Team: Serbian (http://www.transifex.com/django/django-formtools/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:7 msgid "Form Tools" -msgstr "" +msgstr "Алатке за формуларе" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Исправите наведене грешке" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Пошаљи" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Преглед" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Преглед пре слања" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Безбедоносни хеш: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Или га измените опет" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -58,8 +57,8 @@ msgstr "претходни корак" #: templates/formtools/wizard/wizard_form.html:19 msgid "submit" -msgstr "постави" +msgstr "пошаљи" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "ManagementForm подаци недостају или су неправилно мењани." Binary files 2.1-1/formtools/locale/th/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/th/LC_MESSAGES/django.mo differ
  52. Download patch formtools/locale/az/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/az/LC_MESSAGES/django.po 1970-01-01 00:00:00.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/az/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -0,0 +1,62 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Emin Mastizada <emin@linux.com>, 2018 +msgid "" +msgstr "" +"Project-Id-Version: django-formtools\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-03-25 09:31-0500\n" +"PO-Revision-Date: 2018-09-09 13:50+0000\n" +"Last-Translator: Emin Mastizada <emin@linux.com>\n" +"Language-Team: Azerbaijani (http://www.transifex.com/django/django-formtools/language/az/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: az\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: apps.py:7 +msgid "Form Tools" +msgstr "Forma Alətləri" + +#: templates/formtools/form.html:6 +msgid "Please correct the following errors" +msgstr "Lütfən aşağıdakı xətaları düzəldin" + +#: templates/formtools/form.html:6 templates/formtools/preview.html:24 +msgid "Submit" +msgstr "Göndər" + +#: templates/formtools/form.html:13 templates/formtools/preview.html:34 +msgid "Preview" +msgstr "Ön baxış" + +#: templates/formtools/preview.html:6 +msgid "Preview your submission" +msgstr "Göndərəcəklərinizə ön baxın" + +#: templates/formtools/preview.html:17 +#, python-format +msgid "Security hash: %(hash_value)s" +msgstr "Təhlükəsizlik heşi: %(hash_value)s" + +#: templates/formtools/preview.html:27 +msgid "Or edit it again" +msgstr "Və ya təkrar redaktə edin" + +#: templates/formtools/wizard/wizard_form.html:16 +msgid "first step" +msgstr "birinci addım" + +#: templates/formtools/wizard/wizard_form.html:17 +msgid "prev step" +msgstr "əvvəlki addım" + +#: templates/formtools/wizard/wizard_form.html:19 +msgid "submit" +msgstr "göndər" + +#: wizard/views.py:276 +msgid "ManagementForm data is missing or has been tampered." +msgstr "ManagementForm məlumatları əksik və ya zədəlidir." Binary files 2.1-1/formtools/locale/br/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/br/LC_MESSAGES/django.mo differ
  53. Download patch formtools/wizard/views.py
  54. Download patch formtools/locale/eu/LC_MESSAGES/django.po

    --- 2.1-1/formtools/locale/eu/LC_MESSAGES/django.po 2017-10-04 18:06:57.000000000 +0000 +++ 2.2-0ubuntu1/formtools/locale/eu/LC_MESSAGES/django.po 2019-12-05 16:58:51.000000000 +0000 @@ -1,49 +1,49 @@ # This file is distributed under the same license as the Django package. -# +# # Translators: +# Urtzi Odriozola <urtzi.odriozola@gmail.com>, 2017 msgid "" msgstr "" "Project-Id-Version: django-formtools\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-03-25 09:31-0500\n" -"PO-Revision-Date: 2014-10-05 20:41+0000\n" -"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" -"Language-Team: Basque (http://www.transifex.com/projects/p/django-formtools/" -"language/eu/)\n" -"Language: eu\n" +"PO-Revision-Date: 2017-11-16 10:58+0000\n" +"Last-Translator: Urtzi Odriozola <urtzi.odriozola@gmail.com>\n" +"Language-Team: Basque (http://www.transifex.com/django/django-formtools/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:7 msgid "Form Tools" -msgstr "" +msgstr "Formulario tresnak" #: templates/formtools/form.html:6 msgid "Please correct the following errors" -msgstr "" +msgstr "Mesedez zuzendu ondorengo akatsak" #: templates/formtools/form.html:6 templates/formtools/preview.html:24 msgid "Submit" -msgstr "" +msgstr "Bidali" #: templates/formtools/form.html:13 templates/formtools/preview.html:34 msgid "Preview" -msgstr "" +msgstr "Aurreikusi" #: templates/formtools/preview.html:6 msgid "Preview your submission" -msgstr "" +msgstr "Aurreikusi zure bidalketa" #: templates/formtools/preview.html:17 #, python-format msgid "Security hash: %(hash_value)s" -msgstr "" +msgstr "Segurtasun hasha: %(hash_value)s" #: templates/formtools/preview.html:27 msgid "Or edit it again" -msgstr "" +msgstr "Edo editatu berriz" #: templates/formtools/wizard/wizard_form.html:16 msgid "first step" @@ -59,4 +59,4 @@ msgstr "bidali" #: wizard/views.py:276 msgid "ManagementForm data is missing or has been tampered." -msgstr "" +msgstr "ManagementForm datuak falta dira edo manipulatuak izan dira." Binary files 2.1-1/formtools/locale/fa/LC_MESSAGES/django.mo and 2.2-0ubuntu1/formtools/locale/fa/LC_MESSAGES/django.mo differ

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-django-gravatar2

python-django-gravatar2 (1.4.2-4ubuntu1) eoan; urgency=medium * Remove py2 based test that fails since 1.4.2-4 (LP: #1844999) -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Mon, 23 Sep 2019 14:17:00 +0200

Modifications :
  1. Download patch debian/tests/control

    --- 1.4.2-4/debian/tests/control 2019-07-26 21:14:44.000000000 +0000 +++ 1.4.2-4ubuntu1/debian/tests/control 2019-09-23 12:16:58.000000000 +0000 @@ -1,6 +1,3 @@ -Test-Command: set -e ; for py in $(pyversions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -c "import django_gravatar; print django_gravatar" ; done -Depends: python-django-gravatar2 - Test-Command: set -e ; for py in $(py3versions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -c "import django_gravatar; print(django_gravatar)" ; done Depends: python3-django-gravatar2, python3-all
  1. python-django-babel
  2. python-django-debreach
  3. python-django-formtools
  4. python-django-gravatar2