{ "info": { "author": "Vic Bukhantsov", "author_email": "vic@sdh.com.ua", "bugtrack_url": null, "classifiers": [], "description": "Django tool for create ont time links\r\n\r\n\r\nInstallation\r\n============\r\n\r\nFor integrate with Django need to add *ua2.otl* to the list of installed app:\r\n\r\n\r\n.. code-block:: python\r\n\r\n\r\n\tINSTALLED_APPS += (\r\n\t\t'ua2.otl')\r\n\r\n\r\nand put into a root urls.py next line:\r\n\r\n.. code-block:: python\r\n\r\n url(r'^l/', include('ua2.otl.urls'))\r\n\r\n\r\nBe warning: include urls.py only compatibil with Django >= 1.8.\r\nFor django before 1.8 need use following solution:\r\n\r\n\r\n.. code-block:: python\r\n\r\n\tfrom ua2.otl.views import otl_view\r\n\r\n\turlpatterns = urlpatterns(\r\n\t\t.....\r\n\t url(r'^l/(?P\\w+)/$', otl_view, name='one-time-link'),\r\n\t)\r\n\r\n\r\nUsing\r\n============\r\n\r\n\r\nYou can use *OneTimeLink* with several scenario:\r\n\r\n* redirect to view with django backresolve (with support callback)\r\n* redirect to direct URL (with support callback)\r\n* using view to redner response\r\n\r\n\r\nRedirects\r\n---------\r\n\r\nThere are two way to pass resulted link to OneTimeLink object:\r\n\r\n* pass url resolve point with kwargs\r\n* pass rendered link\r\n\r\n\r\n.. code-block:: python\r\n\r\n\tfrom ua2.otl import OneTimeLink\r\n\r\n\tlink = OneTimeLink.create(resolve_name='django-url-name', resolve_kwargs={'value': 1})\r\n\tlink.save(expire=3600)\r\n\r\n\r\nExample with callback and authorization:\r\n\r\n.. code-block:: python\r\n\r\n\tfrom ua2.otl import OntTimeLink\r\n\r\n\tdef auth_callback(request, user_email):\r\n\t user = get_object_or_404(User,\r\n email=user_email)\r\n\t login(request, user)\r\n\r\n @login_required\r\n\tdef password_restore(request):\r\n\t\t....\r\n\r\n\tdef send_restore_passwortd(request):\r\n\t\tlink = OneTimeLink.create(resolve_name='url-password-reset')\r\n\t\tlink['user_email'] = request.POST.get('user_email')\r\n\r\n\t\tlink.save(callback=auth_callback,\r\n\t\t\t\t expire=3600,\r\n\t\t\t\t count=1)\r\n\r\n\t\treturn HttpResponse(\"http://127.0.0.1:8000%s\" % link.url)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/ua2crm/ua2.otl", "keywords": null, "license": "BSD License", "maintainer": null, "maintainer_email": null, "name": "ua2.otl", "package_url": "https://pypi.org/project/ua2.otl/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ua2.otl/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/ua2crm/ua2.otl" }, "release_url": "https://pypi.org/project/ua2.otl/0.0.4/", "requires_dist": null, "requires_python": null, "summary": "Django one time link generator and processor", "version": "0.0.4" }, "last_serial": 2746602, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "dedb7a83654006ccfbd460c2a2747449", "sha256": "4163cc73d1ab3af7ba2b9a40ca7d0cdab4cc836cead16901facd917a7fa81de4" }, "downloads": -1, "filename": "ua2.otl-0.0.1.tar.gz", "has_sig": false, "md5_digest": "dedb7a83654006ccfbd460c2a2747449", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4494, "upload_time": "2015-08-28T10:52:58", "url": "https://files.pythonhosted.org/packages/fe/f7/a4b8c63547770cbea7687ea50bed83d500c5a2a58e91c1cb54029e52385f/ua2.otl-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "4097c5e1b5bdd8498b47dc5fdf9b1e3f", "sha256": "fe06adf7611bf3dc4190756b5521cc90d022be7a83aa1649f97425290d4feaae" }, "downloads": -1, "filename": "ua2.otl-0.0.2.tar.gz", "has_sig": false, "md5_digest": "4097c5e1b5bdd8498b47dc5fdf9b1e3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4500, "upload_time": "2015-08-28T10:54:38", "url": "https://files.pythonhosted.org/packages/4c/00/dfb827e15fb31869c01e2268a8b1af5703a282fd2d38711b9f3e9b05aab4/ua2.otl-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "6846f39fd78ad9f6fb30141287711ec9", "sha256": "bfdb74b50ca0c68b4664ba381aad2222b87fc73a7b09190457008f67cce4cbc0" }, "downloads": -1, "filename": "ua2.otl-0.0.3.tar.gz", "has_sig": false, "md5_digest": "6846f39fd78ad9f6fb30141287711ec9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4524, "upload_time": "2015-10-30T16:56:27", "url": "https://files.pythonhosted.org/packages/ef/74/48cf94217e490324f079b587c91eda8e0ffbf8d0da1de816307acb545e2f/ua2.otl-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "ad4e44b79231d07ddfb85be18abff97f", "sha256": "25db10b179e2010ee913f9f5165a892ae6db3cbab38a96852887a93dc0f0f7ac" }, "downloads": -1, "filename": "ua2.otl-0.0.4.tar.gz", "has_sig": false, "md5_digest": "ad4e44b79231d07ddfb85be18abff97f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4544, "upload_time": "2017-04-01T21:55:23", "url": "https://files.pythonhosted.org/packages/c6/47/02b2188d0e5f94aef4715d4e67111e7d2f32fdee501bf9b96c7ad0730e3c/ua2.otl-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ad4e44b79231d07ddfb85be18abff97f", "sha256": "25db10b179e2010ee913f9f5165a892ae6db3cbab38a96852887a93dc0f0f7ac" }, "downloads": -1, "filename": "ua2.otl-0.0.4.tar.gz", "has_sig": false, "md5_digest": "ad4e44b79231d07ddfb85be18abff97f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4544, "upload_time": "2017-04-01T21:55:23", "url": "https://files.pythonhosted.org/packages/c6/47/02b2188d0e5f94aef4715d4e67111e7d2f32fdee501bf9b96c7ad0730e3c/ua2.otl-0.0.4.tar.gz" } ] }