{ "info": { "author": "Dave Hall", "author_email": "dave@etianen.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP" ], "description": "django-uuid-upload-path\n=======================\n\n**django-uuid-upload-path** generates short UUIDs to use as paths for uploaded media files in Django.\n\n\nFeatures\n--------\n\n- Generate short (22 character), URL-safe base64-encoded UUIDs.\n- Upload media files to short UUID filenames.\n\n\nInstallation\n------------\n\n1. Checkout the latest django-uuid-upload-path release and copy or symlink the\n ``uuid_upload_path`` directory into your ``PYTHONPATH``. If using pip, run \n ``pip install django-uuid-upload-path``.\n\n\nGenerating short UUIDs\n----------------------\n\nGenerate a short, URL-safe UUID as follows:\n\n::\n\n from uuid_upload_path import uuid\n\n uuid() // -> \"hCdLEjlQQJW25-sXB3T_Gw\"\n\n\n\nGenerating upload paths\n-----------------------\n\nTo upload media files to short UUID filenames, just set `upload_to` to `uuid_upload_path.upload_to`.\n\n::\n\n from uuid_upload_path import upload_to\n\n class YourModel(models.Model):\n\n file = models.FileField(\n upload_to = upload_to,\n )\n\n\nWhy use UUIDs as upload paths?\n------------------------------\n\nDjango tries to ensure that all your uploaded files are given unique names on the filesystem. It does this by checking if a file with the same name exists before saving a new one, and adding a suffix if the new file would otherwise conflict with the existing one.\n\nIf you're saving files to disk using the built-in ``django.core.files.storage.FileSystemStorage``, this isn't much of a problem. However, if you're using a cloud file storage, such as ``storages.backends.s3boto.S3BotoStorage``, this uniqueness check can have a noticeable effect on the performance of file uploads. Worse, the default configuration of `S3BotoStorage` is to overwrite existing files with the same name when uploading a new file!\n\nBy generating a unique filename for each uploaded file, django-uuid-upload-path removes the need for a costly uniqueness check, and avoids accidentally overwriting existing files on remote cloud storages.\n\n\nSupport and announcements\n-------------------------\n\nDownloads and bug tracking can be found at the `main project\nwebsite `_.\n\n\nMore information\n----------------\n\nThe django-uuid-upload-path project was developed by Dave Hall. You can get the\ncode from the `django-uuid-upload-path project\nsite `_.\n\nDave Hall is a web developer, based in Cambridge, UK. You can\nusually find him on the Internet in a number of different places:\n\n- `Website `_\n- `Twitter `_\n- `Google Profile `_\n\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/etianen/django-uuid-upload-path", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-uuid-upload-path", "package_url": "https://pypi.org/project/django-uuid-upload-path/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-uuid-upload-path/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/etianen/django-uuid-upload-path" }, "release_url": "https://pypi.org/project/django-uuid-upload-path/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "Generate short UUIDs and use them as paths for uploaded media files in Django.", "version": "1.0.0" }, "last_serial": 1071514, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "f0e32736276b0b09a4e271a0da6071b4", "sha256": "99f83a1779a88bed12ab06ca9ebd668960fb82d8660fafe156665b6c14ecd831" }, "downloads": -1, "filename": "django-uuid-upload-path-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f0e32736276b0b09a4e271a0da6071b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3261, "upload_time": "2014-04-25T11:28:49", "url": "https://files.pythonhosted.org/packages/90/a6/b198bce649b4e3e7d71a5d529c9bef4a4f51510b217b3e4382f87ed6a534/django-uuid-upload-path-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f0e32736276b0b09a4e271a0da6071b4", "sha256": "99f83a1779a88bed12ab06ca9ebd668960fb82d8660fafe156665b6c14ecd831" }, "downloads": -1, "filename": "django-uuid-upload-path-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f0e32736276b0b09a4e271a0da6071b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3261, "upload_time": "2014-04-25T11:28:49", "url": "https://files.pythonhosted.org/packages/90/a6/b198bce649b4e3e7d71a5d529c9bef4a4f51510b217b3e4382f87ed6a534/django-uuid-upload-path-1.0.0.tar.gz" } ] }