{ "info": { "author": "Petronald Green", "author_email": "petronaldgreen@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "=====================\ndjango-link-shortener\n=====================\n\n.. image:: https://travis-ci.org/ronaldgrn/django-link-shortener.svg?branch=master\n :target: https://travis-ci.org/ronaldgrn/django-link-shortener\n \n.. image:: https://img.shields.io/pypi/l/django-link-shortener.svg\n :alt: PyPI - License\n :target: https://pypi.org/project/django-link-shortener/\n\n.. image:: https://img.shields.io/pypi/v/django-link-shortener.svg\n :alt: PyPI\n :target: https://pypi.org/project/django-link-shortener/\n\n.. image:: https://coveralls.io/repos/github/ronaldgrn/django-link-shortener/badge.svg?branch=master\n :target: https://coveralls.io/github/ronaldgrn/django-link-shortener?branch=master\n\n\ndjango-link-shortener is a simple time and usage sensitive url shortening app.\n\nUses A-Za-z0-9 with the exception of I, i and 1.\n\nRequires user to be logged in for link creation.\n\n\nUsage\n-----\n \n1. pip install django-link-shortener\n \n2. Add \"shortener\" to your INSTALLED_APPS setting like this::\n\n INSTALLED_APPS = [\n ...\n 'shortener',\n ]\n\n3. Include the polls URLconf in your project urls.py like this::\n\n path('s/', include('shortener.urls')),\n\n4. Run `python manage.py migrate` to create the shortener models.\n\n\nTesting\n-------\n1. Add the following to settings\n\n```\nSHORTENER_ENABLE_TEST_PATH = True\n```\n\n1. Start the development server and visit http://127.0.0.1:8000/s/test/\n to create a test shortcode.\n\n or\n\n Use shortener.create(user, link) to generate a link via code. Use shortener.expand(link)\n to revert\n\n6. Visit http://127.0.0.1:8000/s// to be redirected\n\nConfiguration Options\n---------------------\nPlace in settings.py. Each setting be overridden on a per-user basis using the admin UrlProfile section\n\nSHORTENER_ENABLED\n Default: True\n \n Controls whether users without a shortener profile can create shortlinks.\n \nSHORTENER_MAX_URLS\n Default: -1\n \n Controls the default maximum limit of generated urls per account. \n -1 sets infinite.\n \nSHORTENER_MAX_CONCURRENT\n Default: -1\n \n Controls the default maximum limit of *concurrent* (active) generated urls per account.\n -1 sets infinite\n\nSHORTENER_LIFESPAN\n Default: -1\n \n Sets the default lifespan of links in seconds\n -1 sets infinite\n \nSHORTENER_MAX_USES\n Default: -1\n \n Sets the default amount of times a link can be followed\n -1 sets infinite\n \nSHORTENER_LENGTH\n Default: 5\n \n Note: Omitted from UrlProfile\n \n Sets how many digits should be used for links. \n Tries up to three times to generate a unique shortcode where\n Each failure will result in length temporaily being increased by 1.\n\nSHORTENER_ENABLE_TEST_PATH\n Default: False\n\n If true, creates shortlinks for logged in users at s/test/<>/\n\n The response is the shortcode to use used at s/<>\n\n\nCommon Use Cases\n----------------\ngoo.gl type usage (default). Unlimited concurrent links for an unlimited length of time\n\n::\n\n SHORTENER_ENABLED = True\n SHORTENER_MAX_URLS = -1\n SHORTENER_MAX_CONCURRENT = -1\n SHORTENER_LIFESPAN = -1\n SHORTENER_MAX_USES = -1\n \n \nInternal temporary link usage (such as on nodeferret.com). 100 Temp links per minute. 1 usage per link.\n\n::\n\n SHORTENER_ENABLED = True\n SHORTENER_MAX_URLS = -1\n SHORTENER_MAX_CONCURRENT = 100 # To prevent spamming\n SHORTENER_LIFESPAN = 600\n SHORTENER_MAX_USES = 1\n\n\nChangelog\n---------\n\n**v0.4**\n\n- Allow null values in UrlProfile; null fields will use global values\n- str representation of UrlProfile in admin\n- add user to str representation of UrlMap\n- removed 256 char limit on full_url (Credit: Khaeshah)\n\nUpgrade Instructions\n--------------------\n\n**0.3 -> 0.4**\n\n::\n\n pip install django-link-shortener==0.4\n python manage.py migrate", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ronaldgrn/django-link-shortener", "keywords": "url shortener,link shortener", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "django-link-shortener", "package_url": "https://pypi.org/project/django-link-shortener/", "platform": "", "project_url": "https://pypi.org/project/django-link-shortener/", "project_urls": { "Homepage": "https://github.com/ronaldgrn/django-link-shortener" }, "release_url": "https://pypi.org/project/django-link-shortener/0.4/", "requires_dist": null, "requires_python": "", "summary": "A simple Django Url Shortener.", "version": "0.4" }, "last_serial": 5327792, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1561de5b2cc13a55393e05a96550a33a", "sha256": "2cfcd7e0cb3d1bdd2bb0190c41b2cc334674cb9ea0ea6f2053ec645a5842a1f7" }, "downloads": -1, "filename": "django-link-shortener-0.1.tar.gz", "has_sig": false, "md5_digest": "1561de5b2cc13a55393e05a96550a33a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4239, "upload_time": "2018-08-21T00:21:22", "url": "https://files.pythonhosted.org/packages/ea/85/c8f595bc2f990527a795556490936fbc3d65a0cc1646e97f852cc8981775/django-link-shortener-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "6d6c5a2ccb2195dc6ee97ea56b52de48", "sha256": "5317f80b491811394bb556ad58e181da960633b2f8fb69bf4af34884d526c0cb" }, "downloads": -1, "filename": "django-link-shortener-0.2.tar.gz", "has_sig": false, "md5_digest": "6d6c5a2ccb2195dc6ee97ea56b52de48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5906, "upload_time": "2018-06-01T14:21:00", "url": "https://files.pythonhosted.org/packages/62/c6/6bd83e973979a861d080529ce4dd757550047288a4e1a605c8969051420d/django-link-shortener-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "6355e869d563c647578bfff6e853b65d", "sha256": "08158b25c017a31ba97a697c285f61000cf866aa4c146174d424c8df5bde32c0" }, "downloads": -1, "filename": "django-link-shortener-0.3.tar.gz", "has_sig": false, "md5_digest": "6355e869d563c647578bfff6e853b65d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6312, "upload_time": "2018-08-21T00:21:57", "url": "https://files.pythonhosted.org/packages/b9/e2/3be770e0afae4c8e84f0374d438ea5a1fa7fa71376b99a6f4a8a0d5aa1d9/django-link-shortener-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "ac800573d08f2a381274b7f63b11e9d6", "sha256": "69096649ba8d4e719a3d7dc189226dc8c42a2f3424d1dfeb7bd0d33e48e2b566" }, "downloads": -1, "filename": "django-link-shortener-0.4.tar.gz", "has_sig": false, "md5_digest": "ac800573d08f2a381274b7f63b11e9d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7218, "upload_time": "2019-05-28T16:23:57", "url": "https://files.pythonhosted.org/packages/fa/b7/98ad8bbda9bb16ec24868ff3d58e48484e1da809607281f08ac6d758cae2/django-link-shortener-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ac800573d08f2a381274b7f63b11e9d6", "sha256": "69096649ba8d4e719a3d7dc189226dc8c42a2f3424d1dfeb7bd0d33e48e2b566" }, "downloads": -1, "filename": "django-link-shortener-0.4.tar.gz", "has_sig": false, "md5_digest": "ac800573d08f2a381274b7f63b11e9d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7218, "upload_time": "2019-05-28T16:23:57", "url": "https://files.pythonhosted.org/packages/fa/b7/98ad8bbda9bb16ec24868ff3d58e48484e1da809607281f08ac6d758cae2/django-link-shortener-0.4.tar.gz" } ] }