{ "info": { "author": "Richard Cornish", "author_email": "rich@richardcornish.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.10", "Framework :: Django :: 1.11", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "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.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "Django Evade\n************\n\n|PyPI version|_ |Build status|_\n\n.. |PyPI version| image::\n https://badge.fury.io/py/django-evade.svg\n.. _PyPI version: https://pypi.python.org/pypi/django-evade\n\n.. |Build status| image::\n https://travis-ci.org/richardcornish/django-evade.svg?branch=master\n.. _Build status: https://travis-ci.org/richardcornish/django-evade\n\n**Django Evade** is a `Django `_ `template filter `_ application for numerically escaping characters in templates.\n\nIt's just like |escape|_, but forces every character to be escaped randomly into either a `decimal or hexadecimal numeric character reference `_ by using a combination of `Unicode conversion `_ and `string formatting `_. Useful for obscuring ``mailto`` hyperlinks to prevent spammers from collecting email addresses. Inspired by a `Django snippet `_.\n\n.. |escape| replace:: ``escape``\n.. _escape: https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#escape\n\n\"Evade\" sounded like a more severe form of \"escape.\"\n\n* `Package distribution `_\n* `Code repository `_\n* `Documentation `_\n* `Tests `_\n\nInstall\n=======\n\n.. code-block:: bash\n\n $ pip install django-evade\n\nAdd to ``settings.py``.\n\n.. code-block:: python\n\n INSTALLED_APPS = [\n # ...\n 'evade',\n ]\n\nUsage\n=====\n\n.. code-block:: html\n\n {% load evade_tags %}\n\n {{ \"me@example.com\"|evade }}\n\nOne possible result:\n\n.. code-block:: html\n\n me@example.com\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/richardcornish/django-evade", "keywords": "", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "django-evade", "package_url": "https://pypi.org/project/django-evade/", "platform": "", "project_url": "https://pypi.org/project/django-evade/", "project_urls": { "Homepage": "https://github.com/richardcornish/django-evade" }, "release_url": "https://pypi.org/project/django-evade/0.1.3/", "requires_dist": null, "requires_python": "", "summary": "A Django template filter application for numerically escaping characters in templates", "version": "0.1.3" }, "last_serial": 3029285, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "8f2d460b46f087f1f189016b77753286", "sha256": "d09c8dbed9ddcac044b0e5a24ad21505d1e4ae59bc11b3885b94d99c020e91c5" }, "downloads": -1, "filename": "django-evade-0.1.tar.gz", "has_sig": false, "md5_digest": "8f2d460b46f087f1f189016b77753286", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3236, "upload_time": "2016-08-21T21:59:34", "url": "https://files.pythonhosted.org/packages/3b/30/711f2c12421c65a23007a7182910f7ac40b83ea38dc1125aee4bcff62fef/django-evade-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d7daa1c8d036732d68fe606a9be38ae3", "sha256": "2655cdae79c8b10e57020af4320f10bc0f360d7e457a23d23395b43e3a583f56" }, "downloads": -1, "filename": "django-evade-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d7daa1c8d036732d68fe606a9be38ae3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1740985, "upload_time": "2016-09-20T23:04:14", "url": "https://files.pythonhosted.org/packages/43/a3/048d08223aa251f2f5e0a508327b07bc8bea1ce147c2d311b50a98f2b090/django-evade-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "7ab08a6b8006ed4234fe297e707e3a80", "sha256": "e72251c2b78859d4c8b0e3f9b7af148c5693fc0c31d34afa833c93e2596cfd32" }, "downloads": -1, "filename": "django-evade-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7ab08a6b8006ed4234fe297e707e3a80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3260559, "upload_time": "2017-04-10T20:20:50", "url": "https://files.pythonhosted.org/packages/0f/ff/b85418787b97ba950f7cd0d8db5e2366f36e05d96f17522bb8fe63e65767/django-evade-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "6e666e4c3a887035f0ce4292894dcb0e", "sha256": "d7f5777d70e036e3ba966173c6f38d2f6b2843274ab566b9a9f90a98170f0b4d" }, "downloads": -1, "filename": "django_evade-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6e666e4c3a887035f0ce4292894dcb0e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6110, "upload_time": "2017-07-17T17:50:15", "url": "https://files.pythonhosted.org/packages/76/61/e0cfd63b593900aecbabe8175dd876f52b2ec4025a8127bd54e01d0188b8/django_evade-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7e44d3fd378d474964ef09362bc32bf", "sha256": "9607f29cefd45acbefe96da29a8c5e2a26e993900ebe1645bd3e1eca341b2138" }, "downloads": -1, "filename": "django-evade-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a7e44d3fd378d474964ef09362bc32bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3260683, "upload_time": "2017-07-17T17:50:48", "url": "https://files.pythonhosted.org/packages/25/64/19f16bceb1f258d2ef54f34660006b1e7a9725c73fa2422ecf8e92d3a1ba/django-evade-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6e666e4c3a887035f0ce4292894dcb0e", "sha256": "d7f5777d70e036e3ba966173c6f38d2f6b2843274ab566b9a9f90a98170f0b4d" }, "downloads": -1, "filename": "django_evade-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6e666e4c3a887035f0ce4292894dcb0e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6110, "upload_time": "2017-07-17T17:50:15", "url": "https://files.pythonhosted.org/packages/76/61/e0cfd63b593900aecbabe8175dd876f52b2ec4025a8127bd54e01d0188b8/django_evade-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7e44d3fd378d474964ef09362bc32bf", "sha256": "9607f29cefd45acbefe96da29a8c5e2a26e993900ebe1645bd3e1eca341b2138" }, "downloads": -1, "filename": "django-evade-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a7e44d3fd378d474964ef09362bc32bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3260683, "upload_time": "2017-07-17T17:50:48", "url": "https://files.pythonhosted.org/packages/25/64/19f16bceb1f258d2ef54f34660006b1e7a9725c73fa2422ecf8e92d3a1ba/django-evade-0.1.3.tar.gz" } ] }