{ "info": { "author": "Anders Pearson", "author_email": "ccnmtl-dev@columbia.edu", "bugtrack_url": null, "classifiers": [], "description": "[](https://travis-ci.org/ccnmtl/django-s3sign)\n[](https://coveralls.io/github/ccnmtl/django-s3sign?branch=master)\n\n# django-s3sign\ns3 sign view for django\n\n## installation\n\n $ pip install django-s3sign\n\n## usage\n\nAdd `s3sign` to `INSTALLED_APPS`. Subclass `s3sign.views.SignS3View`\nand override as needed.\n\nAttributes you can override (and their default values):\n\n```\n name_field = 's3_object_name'\n type_field = 's3_object_type'\n expiration_time = 10\n mime_type_extensions = [\n ('jpeg', '.jpg'),\n ('png', '.png'),\n ('gif', '.gif'),\n ]\n default_extension = '.obj'\n root = ''\n path_string = (\n \"{root}{now.year:04d}/{now.month:02d}/\"\n \"{now.day:02d}/{basename}{extension}\")\n amz_headers = \"x-amz-acl:public-read\"\n```\n\nMethods you can override:\n\n* `get_aws_access_key(self)`\n* `get_aws_secret_key(self)`\n* `get_bucket(self)`\n* `get_mimetype(self, request)`\n* `extension_from_mimetype(self, mime_type)`\n* `now(self)` # useful for unit tests\n* `now_time(self)` # useful for unit tests\n* `basename(self)`\n* `get_object_name(self, extension)`\n\nMost of those should be clear. Read the source if in doubt.\n\n\nEg to use a different root path:\n\n\n```\nfrom s3sign.views import SignS3View\n...\n\nclass MySignS3View(LoggedInView, SignS3View):\n root = 'uploads/'\n```\n\nWith a different S3 bucket:\n\n```\nclass MySignS3View(LoggedInView, SignS3View):\n def get_bucket(self):\n return settings.DIFFERENT_BUCKET_NAME\n```\n\nKeeping the uploaded filename instead of doing a random one and\nwhitelisted extension:\n\n```\nclass MySignS3View(LoggedInView, SignS3View):\n def basename(self, request):\n filename = request.GET[self.get_name_field()]\n return os.path.basename(filename)\n\n def extension(self, request):\n filename = request.GET[self.get_name_field()]\n return os.path.splitext(filename)[1]\n```\n\n\n### javascript/forms\n\nThe required javascript is also included, so you can include it in\nyour page with:\n\n \n\nYour form would then somewhere have a bit like:\n\n
Please select a file
\n \n \n\nAnd\n\n```\n\n```\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ccnmtl/django-s3sign", "keywords": "", "license": "GPL3", "maintainer": "", "maintainer_email": "", "name": "django-s3sign", "package_url": "https://pypi.org/project/django-s3sign/", "platform": "any", "project_url": "https://pypi.org/project/django-s3sign/", "project_urls": { "Homepage": "https://github.com/ccnmtl/django-s3sign" }, "release_url": "https://pypi.org/project/django-s3sign/0.1.4/", "requires_dist": [ "Django (>=1.8)", "nose" ], "requires_python": "", "summary": "Django view for AWS S3 signing", "version": "0.1.4" }, "last_serial": 5557141, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "155a00e8a2ac2f6696e02d367d3beda1", "sha256": "76482b61311be538c702de86d65f662171bb0660e48f24569a22368c00351fd9" }, "downloads": -1, "filename": "django_s3sign-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "155a00e8a2ac2f6696e02d367d3beda1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7084, "upload_time": "2016-03-23T14:53:51", "url": "https://files.pythonhosted.org/packages/47/1a/ffa13180efcdda5f933244e906fc0dd3f04824b25ef98993c446ace738ff/django_s3sign-0.1.0-py2-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f9fa6fe3f88e1a37a7b4d64b9476c7c1", "sha256": "228547dfde085c2decf352cb7daeb26cfa6be059c49d2d66ecb335f127347e72" }, "downloads": -1, "filename": "django_s3sign-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "f9fa6fe3f88e1a37a7b4d64b9476c7c1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11793, "upload_time": "2016-03-23T14:56:04", "url": "https://files.pythonhosted.org/packages/f6/3e/fd3a3740072bfb35bf505190e6420368fbbbd1c73e51e3e6b1461e2a389c/django_s3sign-0.1.1-py2-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "8815d30fc1e8001278e2168865ee0a4e", "sha256": "0a9a6496d8dee439830400837d00771b0ac71de31e9acfda9751bdf0d5fca8cd" }, "downloads": -1, "filename": "django_s3sign-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "8815d30fc1e8001278e2168865ee0a4e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15575, "upload_time": "2016-03-23T16:02:37", "url": "https://files.pythonhosted.org/packages/07/d5/d81a61a955161bfbb870ae6aebe13746235d76e9284abd545bfe42604f5a/django_s3sign-0.1.3-py2-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "d5f648ac0d3d89a4f1095e19b6102d85", "sha256": "85a635c1945f8fe2a7eb3c2dd101e6b6d0631a69abd3d620c34d5d5534379933" }, "downloads": -1, "filename": "django_s3sign-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d5f648ac0d3d89a4f1095e19b6102d85", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8933, "upload_time": "2017-10-13T13:23:37", "url": "https://files.pythonhosted.org/packages/01/32/8c6bb7d7133a4092daaeaf765b753236eb5cf855214d7545c3f2e399e0b2/django_s3sign-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae55f585887a6b2a92186fbd4b744c5b", "sha256": "0dd0ccf0817b7cc07f379cde1462812a06ad457952ceb5686421e13a58e4cb56" }, "downloads": -1, "filename": "django-s3sign-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ae55f585887a6b2a92186fbd4b744c5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5457, "upload_time": "2017-10-13T13:23:39", "url": "https://files.pythonhosted.org/packages/90/b7/fb7dfa99fa6c92e866bcd7ee9f4c45bea6d2cf1122ce52de0972026e3e5b/django-s3sign-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d5f648ac0d3d89a4f1095e19b6102d85", "sha256": "85a635c1945f8fe2a7eb3c2dd101e6b6d0631a69abd3d620c34d5d5534379933" }, "downloads": -1, "filename": "django_s3sign-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d5f648ac0d3d89a4f1095e19b6102d85", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8933, "upload_time": "2017-10-13T13:23:37", "url": "https://files.pythonhosted.org/packages/01/32/8c6bb7d7133a4092daaeaf765b753236eb5cf855214d7545c3f2e399e0b2/django_s3sign-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae55f585887a6b2a92186fbd4b744c5b", "sha256": "0dd0ccf0817b7cc07f379cde1462812a06ad457952ceb5686421e13a58e4cb56" }, "downloads": -1, "filename": "django-s3sign-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ae55f585887a6b2a92186fbd4b744c5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5457, "upload_time": "2017-10-13T13:23:39", "url": "https://files.pythonhosted.org/packages/90/b7/fb7dfa99fa6c92e866bcd7ee9f4c45bea6d2cf1122ce52de0972026e3e5b/django-s3sign-0.1.4.tar.gz" } ] }