{ "info": { "author": "Chris Adams", "author_email": "chris@improbable.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Localization" ], "description": "=================================\nDjango Internationalization Utils\n=================================\n\n.. image:: https://travis-ci.org/acdha/django-i18n-utils.svg?branch=master\n :target: https://travis-ci.org/acdha/django-i18n-utils\n\n\nData Processing\n~~~~~~~~~~~~~~~\n\nclean_unicode\n-------------\n\n`utils.clean_unicode` accepts an input string and returns\nnormalized Unicode\n\nUnicodeNormalizerMixin\n----------------------\n\nModel mixin class which ensures that every text field has been processed with\n`clean_unicode` during model validation's `clean_fields` step\n\nTesting\n~~~~~~~\n\nTranslationSafeTestClient\n-------------------------\n\nDjango `TestClient` subclass which resets the active translation after each request to avoid leaking\ntranslation state across tests, causing hard-to-debug side-effects like loading fixtures in the wrong\nlanguage using `django-modeltranslation `_.\n\nUsage::\n\n from django_i18n_utils.testclients import TranslationSafeTestClient\n\n class MyTestCase(TestCase):\n client_class = TranslationSafeTestClient\n\n def test_foo(self):\n # default language active\n self.client.get('/pt/myview') # Portuguese active when the view executes\n # default language active again\n\n\nTranslationSafeTestCase\n-----------------------\n\nDjango `TestCase` subclass which uses `TranslationSafeTestClient` to avoid test failures caused by previous\ntests leaving an unexpected locale active.\n\nUsage::\n\n from django_i18n_utils.testcases import TranslationSafeTestCase\n\n class MyTestCase(TranslationSafeTestCase):\n \u2026\n\n\nLocalizedTestCase\n-----------------\n\nDjango `TestCase` subclass which makes it easy to create per-language tests\nwithout duplication or for-loops::\n\n class MyLocalizedTests(LocalizedTestCase):\n def test_homepage(self):\n \u2026\n\nwill execute and display as if you had really created this::\n\n class MyLocalizedTests(LocalizedTestCase):\n def test_homepage_en(self):\n \u2026 # test English\n def test_homepage_es(self):\n \u2026 # test Spanish", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi/django-i18n-utils", "keywords": "django i18n", "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "django-i18n-utils", "package_url": "https://pypi.org/project/django-i18n-utils/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-i18n-utils/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://pypi.python.org/pypi/django-i18n-utils" }, "release_url": "https://pypi.org/project/django-i18n-utils/1.5.3/", "requires_dist": null, "requires_python": null, "summary": "Utilities for localized Django projects", "version": "1.5.3" }, "last_serial": 3160332, "releases": { "1.0.0": [], "1.1.0": [ { "comment_text": "", "digests": { "md5": "7c51bb71ab9b2ef69c1747aeb1d0a9c2", "sha256": "f2c6a932145c06f89f4551871219b023fd0012dd7ea4590ae9289c7bf904e417" }, "downloads": -1, "filename": "django-i18n-utils-1.1.0.tar.gz", "has_sig": false, "md5_digest": "7c51bb71ab9b2ef69c1747aeb1d0a9c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3368, "upload_time": "2014-05-28T20:10:47", "url": "https://files.pythonhosted.org/packages/3c/ee/c12f6dc7bd3577a75d55a387cba16b590286db7b33b93bd07be79c1072ad/django-i18n-utils-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "801ffb2a77bbb4c00e2ac2d0a8c03afa", "sha256": "4c04f42b8a484e538154d0f29ad30238dba0fbcfd528a47f42c95aff58fa67d7" }, "downloads": -1, "filename": "django_i18n_utils-1.2.0-py27-none-any.whl", "has_sig": false, "md5_digest": "801ffb2a77bbb4c00e2ac2d0a8c03afa", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5725, "upload_time": "2014-05-28T21:06:59", "url": "https://files.pythonhosted.org/packages/a7/50/0dd00cf65c989a7dc259709a04ee1c263b80be5362eceb8bc6549fd4fa35/django_i18n_utils-1.2.0-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54ab938e08d05c6d5287f6b1546187a2", "sha256": "cc951aa04bd7a523a1d961be94f176d16cfa3a3ad3d8b3b1402bc2a597626336" }, "downloads": -1, "filename": "django-i18n-utils-1.2.0.tar.gz", "has_sig": false, "md5_digest": "54ab938e08d05c6d5287f6b1546187a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3390, "upload_time": "2014-05-28T21:06:10", "url": "https://files.pythonhosted.org/packages/e4/ca/c55a880ca9fe18568711719e1b65a1b8a7bcc723fd9e8ae531398f38d149/django-i18n-utils-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "6d1991eb5d7dd43c351e85e6fe291e45", "sha256": "f0a1850e8f7cfc6917a4f902a86a7140b2d0a05f3fc0e75d15e3abcf1b9b1263" }, "downloads": -1, "filename": "django_i18n_utils-1.3.0-py27-none-any.whl", "has_sig": false, "md5_digest": "6d1991eb5d7dd43c351e85e6fe291e45", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6735, "upload_time": "2014-05-28T21:43:31", "url": "https://files.pythonhosted.org/packages/02/33/6f1154802175f7544e0c096e7d78216678b1fd3bd46f3dd7225749243e17/django_i18n_utils-1.3.0-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a083c61dba9a3d964b519b6651012a84", "sha256": "311acb4e1e280e970a2ea58dde7b9f8cdf6c40769aefc64bd7ab7230e2550166" }, "downloads": -1, "filename": "django_i18n_utils-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a083c61dba9a3d964b519b6651012a84", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6747, "upload_time": "2014-05-28T21:48:11", "url": "https://files.pythonhosted.org/packages/86/f8/fed6db28e674cd05c5e7d67e4b9be32cd10bfd544a0e8ead39fd29248f48/django_i18n_utils-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5cb64e181084b2409b58fd5ef0f18ff2", "sha256": "fd16679395d6f46e5bab672b79cd921e50d187b57f83f3a82ad1d18c608e4798" }, "downloads": -1, "filename": "django-i18n-utils-1.3.0.tar.gz", "has_sig": false, "md5_digest": "5cb64e181084b2409b58fd5ef0f18ff2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3748, "upload_time": "2014-05-28T21:43:37", "url": "https://files.pythonhosted.org/packages/e0/ea/d4353496d056ead778a97d55bf5dbc509eaf9bb9c5347b0267e4a7684794/django-i18n-utils-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "3b74fd2e0fd64fd90f1a51865175389c", "sha256": "35e734e48f51bbaf2dcbc9ee12dc8c7a60f70ee2f64e26b34fd8a6f1a19962a3" }, "downloads": -1, "filename": "django-i18n-utils-1.4.0.tar.gz", "has_sig": false, "md5_digest": "3b74fd2e0fd64fd90f1a51865175389c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4265, "upload_time": "2014-07-02T15:16:53", "url": "https://files.pythonhosted.org/packages/11/c2/3f9e0a6e13fdca0037c2e2c21b2f088c0b150d461cc6094b4005e8b8e418/django-i18n-utils-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "ab78cb6d3c4713c7ab9d436b1713dac3", "sha256": "cdd451907746727a5dde8172274a868145c8e8bc591e4dbfc365503060b2f394" }, "downloads": -1, "filename": "django-i18n-utils-1.5.0.tar.gz", "has_sig": false, "md5_digest": "ab78cb6d3c4713c7ab9d436b1713dac3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4583, "upload_time": "2014-07-02T15:46:44", "url": "https://files.pythonhosted.org/packages/a1/6e/05e681538bebac269641c2e185353b782a661e868a7c37905a6f16f4eb7c/django-i18n-utils-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "79d61aa4d4dd9766d23eebdb0153e5be", "sha256": "06f095d250f40a3a49f20323992e1b42ec6f9c3531d7720f864e101cf28fb78c" }, "downloads": -1, "filename": "django-i18n-utils-1.5.1.tar.gz", "has_sig": false, "md5_digest": "79d61aa4d4dd9766d23eebdb0153e5be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4665, "upload_time": "2014-07-17T17:31:40", "url": "https://files.pythonhosted.org/packages/ad/b0/55e9753ebf3747bbd77bd7728b7b73985a3c14f34dc5d8ee9e1315736c38/django-i18n-utils-1.5.1.tar.gz" } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "c8fdef3d08131a04b4d963a3fc587078", "sha256": "17d23d871483eb599efc428bf49c3c07e2762c54cc8401d2820a40a0d0d83a06" }, "downloads": -1, "filename": "django-i18n-utils-1.5.2.tar.gz", "has_sig": false, "md5_digest": "c8fdef3d08131a04b4d963a3fc587078", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4770, "upload_time": "2015-08-10T20:38:14", "url": "https://files.pythonhosted.org/packages/eb/43/88c7b15dc0be61f159661c59bfa23a923037bd54d8781a476a3a96812d31/django-i18n-utils-1.5.2.tar.gz" } ], "1.5.3": [ { "comment_text": "", "digests": { "md5": "62c0fc62fe9996c1c9b0d6416e1d8d03", "sha256": "a8ed0c804898e9fb219f5461b47aa3d17e2f2cbfa4717b10eadc11599c86135a" }, "downloads": -1, "filename": "django_i18n_utils-1.5.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "62c0fc62fe9996c1c9b0d6416e1d8d03", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8664, "upload_time": "2015-08-11T18:03:23", "url": "https://files.pythonhosted.org/packages/70/48/e28e5a108053f489cdfc5b87b76b577a229d5e4e8c230bdd15ec4de5b7c2/django_i18n_utils-1.5.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a067e5696639d431ab5309a7cfd7dc92", "sha256": "295687910d40333fe271bd8cf3d5b1619ac785e6d5da362e204c46bf225ada0c" }, "downloads": -1, "filename": "django-i18n-utils-1.5.3.tar.gz", "has_sig": false, "md5_digest": "a067e5696639d431ab5309a7cfd7dc92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4870, "upload_time": "2015-08-11T18:03:19", "url": "https://files.pythonhosted.org/packages/31/ad/1907521f51098cc3ff5e00145b87f3d3a5777484058c864f13d093ce2779/django-i18n-utils-1.5.3.tar.gz" } ], "1.6.0b0": [ { "comment_text": "", "digests": { "md5": "6936587e78410bc936692db565c5d4a2", "sha256": "cef5a86d0c0833915957bf0a9825fe584391cdea83cfcb875f2b5d8e933234c8" }, "downloads": -1, "filename": "django_i18n_utils-1.6.0b0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6936587e78410bc936692db565c5d4a2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7858, "upload_time": "2017-09-08T20:25:14", "url": "https://files.pythonhosted.org/packages/f9/7d/36acc835b79a6cedac154eab7b35f80c65b76ca0d25e2183ca97de3d84ea/django_i18n_utils-1.6.0b0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "801616a2ea5bcc353acea6ff763278d0", "sha256": "5e46e7024cb88292a35a615fa646d933b504a64c1ed100ea1c296bc04a3ea70b" }, "downloads": -1, "filename": "django-i18n-utils-1.6.0b0.tar.gz", "has_sig": false, "md5_digest": "801616a2ea5bcc353acea6ff763278d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6743, "upload_time": "2017-09-08T20:20:37", "url": "https://files.pythonhosted.org/packages/27/99/0a9a018ebfd94b93932e9164b44aef6f97b7c89632eca8f06ec8fee3ddc6/django-i18n-utils-1.6.0b0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "62c0fc62fe9996c1c9b0d6416e1d8d03", "sha256": "a8ed0c804898e9fb219f5461b47aa3d17e2f2cbfa4717b10eadc11599c86135a" }, "downloads": -1, "filename": "django_i18n_utils-1.5.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "62c0fc62fe9996c1c9b0d6416e1d8d03", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8664, "upload_time": "2015-08-11T18:03:23", "url": "https://files.pythonhosted.org/packages/70/48/e28e5a108053f489cdfc5b87b76b577a229d5e4e8c230bdd15ec4de5b7c2/django_i18n_utils-1.5.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a067e5696639d431ab5309a7cfd7dc92", "sha256": "295687910d40333fe271bd8cf3d5b1619ac785e6d5da362e204c46bf225ada0c" }, "downloads": -1, "filename": "django-i18n-utils-1.5.3.tar.gz", "has_sig": false, "md5_digest": "a067e5696639d431ab5309a7cfd7dc92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4870, "upload_time": "2015-08-11T18:03:19", "url": "https://files.pythonhosted.org/packages/31/ad/1907521f51098cc3ff5e00145b87f3d3a5777484058c864f13d093ce2779/django-i18n-utils-1.5.3.tar.gz" } ] }