{ "info": { "author": "Infrae", "author_email": "info@infrae.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "=================\ninfrae.fileupload\n=================\n\n``infrae.fileupload`` is a WSGI component that can be used as a\nmiddleware in order to intercept single file upload and save them on\nthe disk. The request to the application is then replaced by a json\nbody describing the information about the file. The original filename\nand mimetype sent by the browser are kept as metadata. In addition to\nthis, it is possible to query the status of the upload and reset it\nwith HTTP request (by appending ``/status`` to the upload URL). An API is\nexposed via the ``environ`` dictionnary provided the WSGI application\nand can be used in order to query the files.\n\nThe API provides the following methods:\n\n``create_identifier()``\n Create a new upload identifier that be provided while submitting\n the form using the ``X-Progress-ID`` parameter in the URL.\n\n``verify_identifier(identifier)``\n Validate a given identifier.\n\n``access_upload_bucket(identifier)``\n Access the given upload. An object with the following methods is\n returned:\n\n ``get_status()``\n Return a dictionnary containing metadata information about the upload.\n\n ``get_filename()``\n Return the filename of the uploaded file.\n\n ``is_complete()``\n Return True if the upload was complete.\n\n ``clear_upload()``\n Delete the upload.\n\n``clear_upload_bucket(identifier)``\n Delete the given upload.\n\nIt is possible to use the component as a standalone WSGI application\nand having a dedicated upload server available at a different URL.\n\nPaster\n======\n\nThe upload middleware (and upload application) can be used via Paster\nusing ``egg:infrae.fileupload``. Configuration directives are:\n\n``directory``\n Pool directory where to store the uploaded files. If multiple\n processes accross multiple servers are configured for the same URL, they\n should share this directory too.\n\n``max_size``\n Maximum allowed size for an upload in megabytes.\n\n``upload_url``\n URL where to upload the files. If not specified the URL specified\n by the wsgi environment will be used. If it is specified, the\n middleware won't intercept uploads and assume this task is handled\n by the given URL. This is use in large installation in order to\n have a dedicated upload server by using the standalone application\n instead of the middleware. Upload URLs always ends with\n ``/upload``. If it is not the case it will appended to it.\n\n``upload_key``\n Private key used to hash upload identifier. This enable a basic\n security preventing abuse of the upload middleware or\n application. If multiple processes and installations shares the\n same upload URL they should share the same upload key too.\n\nChanges\n=======\n\n1.0.1 (2013/10/09)\n------------------\n\n- Support malformed requests that are not properly terminated.\n\n1.0 (2013/10/08)\n----------------\n\n- Initial release.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://infrae.com/products/silva", "keywords": "silva cms file upload zope", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "infrae.fileupload", "package_url": "https://pypi.org/project/infrae.fileupload/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/infrae.fileupload/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://infrae.com/products/silva" }, "release_url": "https://pypi.org/project/infrae.fileupload/1.0.1/", "requires_dist": null, "requires_python": null, "summary": "WSGI middleware to manage upload of files", "version": "1.0.1" }, "last_serial": 945357, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "96d565f618152b9c6f9583ef94f89f62", "sha256": "72630d93b5673a3f58c7435b3d8c498a9ed806e72d8925c4a19bbaf0f08c05ff" }, "downloads": -1, "filename": "infrae.fileupload-1.0.tar.gz", "has_sig": false, "md5_digest": "96d565f618152b9c6f9583ef94f89f62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7893, "upload_time": "2013-10-08T13:52:46", "url": "https://files.pythonhosted.org/packages/5f/56/c025ae8a64dc8485a754c896e38357bc4a25f6ebf17b089487cb169c8f92/infrae.fileupload-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "cd10f604d30635c83feb0dac8a7f9333", "sha256": "0e275818f946f80ce4c540a8b78a57a32a2dcf83c5de8b94133e7a5367b60e25" }, "downloads": -1, "filename": "infrae.fileupload-1.0.1.tar.gz", "has_sig": false, "md5_digest": "cd10f604d30635c83feb0dac8a7f9333", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7949, "upload_time": "2013-10-09T11:15:08", "url": "https://files.pythonhosted.org/packages/33/b2/0c1ea74a447b0429ebefe06cb2f9797a2c93f752c0f7629f34df059a2ed7/infrae.fileupload-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cd10f604d30635c83feb0dac8a7f9333", "sha256": "0e275818f946f80ce4c540a8b78a57a32a2dcf83c5de8b94133e7a5367b60e25" }, "downloads": -1, "filename": "infrae.fileupload-1.0.1.tar.gz", "has_sig": false, "md5_digest": "cd10f604d30635c83feb0dac8a7f9333", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7949, "upload_time": "2013-10-09T11:15:08", "url": "https://files.pythonhosted.org/packages/33/b2/0c1ea74a447b0429ebefe06cb2f9797a2c93f752c0f7629f34df059a2ed7/infrae.fileupload-1.0.1.tar.gz" } ] }