{ "info": { "author": "Don Spaulding", "author_email": "don@mirusresearch.com", "bugtrack_url": null, "classifiers": [], "description": "OneTime is a drop-in Django app that allows you store callbacks\nin your database to be called once another event has taken place.\n\n\n\nIn its most basic form, it has two main parts. First, you give \n`onetime.call_later` a callable to execute when the event happens. \nSecond you hook up the CallbackMiddleware which will call the callable\nwith the arguments you supply to `call_later()`. \n\nviews.py\n========\n::\n # Log a user in via email\n from onetime import call_later\n \n def login(request=None, user_id):\n user = User.objects.get(id=user_id)\n request.session['logged_in_user'] = user\n \n def email_login_link(request):\n alleged_user = User.objects.get(id=request.GET['user_id'])\n onetime_id = call_later(login, user_id=alleged_user.id)\n email_utils.sendmail(\n alleged_user.email, \n \"Login Link\", \n \"Login by clicking here\"%onetime_id\n )\n\nsettings.py\n===========\n::\n MIDDLEWARE_CLASSES = (\n 'onetime.middleware.CallbackMiddleware',\n ...\n )\n\n\nIf the callable you are passing in to call_later is in fact a Django\nview that needs its first parameter to be the incoming request, you\ncan instead use `onetime.call_view_later` which will pass in the subsequent\nrequest as the first parameter to the callable.\n\n\nSettings\n========\nONETIME_REQUEST_PARAMETER The request.REQUEST key we should look under\nwhile searching for OneTime IDs. Can be any url-safe string, defaults\nto `onetime_id`.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/mirusresearch/django-onetime", "keywords": null, "license": "MIT license, see LICENSE.txt", "maintainer": null, "maintainer_email": null, "name": "django-onetime", "package_url": "https://pypi.org/project/django-onetime/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-onetime/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://bitbucket.org/mirusresearch/django-onetime" }, "release_url": "https://pypi.org/project/django-onetime/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "A reusable Django app that lets you call followup functions after an event has taken place. (Such as two-factor authentication)", "version": "0.2.0" }, "last_serial": 1874967, "releases": { "0.1.6": [ { "comment_text": "", "digests": { "md5": "ec25cdd36dcad6fee863cb434f3d22ca", "sha256": "20551d4f7a83f1bdb0181f03e0cfcd552dc9c415db9e6712c82e71d2587151f8" }, "downloads": -1, "filename": "django-onetime-0.1.6.tar.gz", "has_sig": false, "md5_digest": "ec25cdd36dcad6fee863cb434f3d22ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6035, "upload_time": "2015-12-23T00:57:48", "url": "https://files.pythonhosted.org/packages/58/5d/c2da815c68c31972771791c4e52091027d0f92c26c5677b123eb98b8d181/django-onetime-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "f4df68ff492c509541b07aa0a3a53caf", "sha256": "efd931c824c6670de916f1f12e6f6d2900d3681d96313b1b695cf937f61517fc" }, "downloads": -1, "filename": "django-onetime-0.1.7.tar.gz", "has_sig": false, "md5_digest": "f4df68ff492c509541b07aa0a3a53caf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6035, "upload_time": "2015-12-23T00:58:23", "url": "https://files.pythonhosted.org/packages/d6/7b/f261cb21e7509ce8401b606f0085e00b9baf54238ea9acffc584331036e4/django-onetime-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "73815f121a593228851afab864518909", "sha256": "7759b399e4129e7c047fe47d910060a19c87dc174fce2c5c523af3a5c0ec5aef" }, "downloads": -1, "filename": "django-onetime-0.1.8.tar.gz", "has_sig": false, "md5_digest": "73815f121a593228851afab864518909", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5005, "upload_time": "2015-12-23T02:07:23", "url": "https://files.pythonhosted.org/packages/c5/e5/a023b71707abaf546de01e778ee4ece211ef2dafc82aa35ac6799fe76989/django-onetime-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "8a371da3adc5346d6b99234483929128", "sha256": "8600fa4293d5bf14fc7293a13d5433d5126d214f437102a496cec43a1cb3336c" }, "downloads": -1, "filename": "django-onetime-0.1.9.tar.gz", "has_sig": false, "md5_digest": "8a371da3adc5346d6b99234483929128", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5004, "upload_time": "2015-12-23T02:09:36", "url": "https://files.pythonhosted.org/packages/4e/55/7e9e1ca864db1bf2b3dd21fdb4b8f2741fbd409dfffab186313a18c1dc8e/django-onetime-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "1ec4fc3988352534fef51db04c113c14", "sha256": "d00c734ff02439ea2f0d4db2ab1b7cf800dca2cc09ed6c8d241ae210fa4019ae" }, "downloads": -1, "filename": "django-onetime-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1ec4fc3988352534fef51db04c113c14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5044, "upload_time": "2015-12-23T05:49:35", "url": "https://files.pythonhosted.org/packages/ca/a3/c030cd4b63c6ff54c4db3a80f91ebb2b2992139436df733fa79019e2ad70/django-onetime-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1ec4fc3988352534fef51db04c113c14", "sha256": "d00c734ff02439ea2f0d4db2ab1b7cf800dca2cc09ed6c8d241ae210fa4019ae" }, "downloads": -1, "filename": "django-onetime-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1ec4fc3988352534fef51db04c113c14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5044, "upload_time": "2015-12-23T05:49:35", "url": "https://files.pythonhosted.org/packages/ca/a3/c030cd4b63c6ff54c4db3a80f91ebb2b2992139436df733fa79019e2ad70/django-onetime-0.2.0.tar.gz" } ] }