{ "info": { "author": "Beno\u00eet Bryon", "author_email": "benoit@marmelune.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2.7" ], "description": "###################\ndjango-ticketoffice\n###################\n\n`django-ticketoffice` provides one-shot authentication (a.k.a. temporary\ncredentials) utilities for Django.\nIt lets you create and manage tickets that allow users to perform one action\non the website. As an example, Django could use it for the \"password reset\"\naction, where users authenticate using a temporary token.\n\n\n*******\nExample\n*******\n\nRestrict some URL to guests with valid invitation tickets:\n\n.. code:: python\n\n from django.conf.urls import patterns, url\n from django_ticketoffice.decorators import invitation_required, stamp_invitation\n\n @invitation_required(place=u'louvre', purpose=u'visit')\n @stamp_invitation # Mark invitation as used right **after** view execution.\n def visit_louvre(request):\n ticket = request.cache['invitation'] # Set by `invitation_required`.\n return u'Welcome to the Louvre museum {guest}'.format(\n guest=ticket.data['first_name'])\n\n urlpatterns = patterns('', url('^louvre$', visit_louvre, name='louvre'))\n\nCreate and deliver tickets for this resource:\n\n.. code:: python\n\n from django.utils.timezone import now\n from django_ticketoffice.models import Ticket\n\n ticket = Ticket(place=u'louvre', purpose=u'visit')\n ticket.set_password(u'I love Paris') # Encrypted in database.\n ticket.expiry_datetime = now() + timedelta(days=5) # Optional.\n ticket.data = {'first_name': u'L\u00e9onard'} # Optional.\n ticket.save()\n\n credentials = {'uuid': ticket.uuid, 'password': u'I love Paris'}\n visit_url = reverse('louvre') + '?' + urlencode(credentials)\n\n`django-ticketoffice` focuses on authentication. It does not send invitation\nemails. You may check `django-mail-factory`_ about sending emails.\n\n\n**************\nProject status\n**************\n\n`django-ticketoffice` is, at the moment, a proof-of-concept: it delivers basic\nfeatures in order to create tickets and to use them in views. It works (you\ncan use it), but it may lack some features (ideas are welcome), and it may\nchange (improve) quite a bit. That said, maintainers will take care of release\nnotes and migrations.\n\nSee also `vision`_, `roadmap`_ and `alternatives`_ to get a better overview of\nproject status.\n\n\n*********\nResources\n*********\n\n* Documentation: https://django-ticketoffice.readthedocs.org\n* PyPI page: http://pypi.python.org/pypi/django-ticketoffice\n* Code repository: https://github.com/novapost/django-ticketoffice\n* Bugtracker: https://github.com/novapost/django-ticketoffice/issues\n* Continuous integration: https://travis-ci.org/novapost/django-ticketoffice\n* Roadmap: https://github.com/novapost/django-ticketoffice/issues/milestones\n\n\n.. _`django-mail-factory`:\n https://pypi.python.org/pypi/django-mail-factory\n.. _`vision`:\n https://django-ticketoffice.readthedocs.org/en/latest/about/vision.html\n.. _`roadmap`:\n https://github.com/novapost/django-ticketoffice/issues/milestones\n.. _`alternatives`:\n https://django-ticketoffice.readthedocs.org/en/latest/about/alternatives.html", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://django-ticketoffice.readthedocs.org/", "keywords": "authentication", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-ticketoffice", "package_url": "https://pypi.org/project/django-ticketoffice/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-ticketoffice/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://django-ticketoffice.readthedocs.org/" }, "release_url": "https://pypi.org/project/django-ticketoffice/0.2/", "requires_dist": null, "requires_python": null, "summary": "One-shot authentication (temporary credentials) utilities for Django.", "version": "0.2" }, "last_serial": 1176922, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "11db6c1815ce14df1dcbd1cdd12333cf", "sha256": "75ed03d68bde4534fc288422bdc1594d1d062cd2153d5037d54739447a2e8b30" }, "downloads": -1, "filename": "django-ticketoffice-0.1.zip", "has_sig": false, "md5_digest": "11db6c1815ce14df1dcbd1cdd12333cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25061, "upload_time": "2014-07-10T15:50:16", "url": "https://files.pythonhosted.org/packages/53/a3/97ed43b0d8d9008e7871d466a1c16410a653fc0682045ea7b2a6431152a1/django-ticketoffice-0.1.zip" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7c4d43948f7844c8c02976f4553eeb65", "sha256": "26cff1e83e55bce39b9259eea3519b78a07d5a22c516b46a7602b82d4761240c" }, "downloads": -1, "filename": "django-ticketoffice-0.1.1.zip", "has_sig": false, "md5_digest": "7c4d43948f7844c8c02976f4553eeb65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25241, "upload_time": "2014-07-10T18:17:28", "url": "https://files.pythonhosted.org/packages/e8/41/6cf43c65f3f3c9dec027822039110a1decff060a6d4fd270ae15cf57794d/django-ticketoffice-0.1.1.zip" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "551ed5be6036f9e840f73df597d87deb", "sha256": "29ef64ce56000395d6f7972629d659cb9f25695bb8a4a019498b4bd13abe8de9" }, "downloads": -1, "filename": "django-ticketoffice-0.2.zip", "has_sig": false, "md5_digest": "551ed5be6036f9e840f73df597d87deb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25454, "upload_time": "2014-08-01T16:26:00", "url": "https://files.pythonhosted.org/packages/22/94/ffc626309ef588f68f5dc1cb17b583c20f4959b1cbd0649a6299b33171b2/django-ticketoffice-0.2.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "551ed5be6036f9e840f73df597d87deb", "sha256": "29ef64ce56000395d6f7972629d659cb9f25695bb8a4a019498b4bd13abe8de9" }, "downloads": -1, "filename": "django-ticketoffice-0.2.zip", "has_sig": false, "md5_digest": "551ed5be6036f9e840f73df597d87deb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25454, "upload_time": "2014-08-01T16:26:00", "url": "https://files.pythonhosted.org/packages/22/94/ffc626309ef588f68f5dc1cb17b583c20f4959b1cbd0649a6299b33171b2/django-ticketoffice-0.2.zip" } ] }