{ "info": { "author": "David Glick, Plone Foundation", "author_email": "davidglick@groundwire.org", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Plone :: 5.0", "Framework :: Plone :: 5.1", "Framework :: Plone :: 5.2", "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "Introduction\n============\n\n``plone.resource`` publishes directories of static files via the ZPublisher.\nThese directories may be located either in the ZODB (as OFS folders and files), or on the filesystem.\n\nEach resource directory has a type and a name. When combined, these are used to traverse to the resource directory.\nFor example::\n\n /++theme++mytheme/\n /++sitelayout++mylayout/\n /++templatelayout++mylayout\n\n\nWhere resources can be stored\n-----------------------------\n\nResource directory contents can be found by the traverser in several different places.\nThe following locations are tried in order.\n\nFiles in the ZODB\n^^^^^^^^^^^^^^^^^\n\nInstalling ``plone.resource`` creates a Zope-folder called ``portal_resources``.\nIt can be used to store resource directories persistently.\nBy convention:\n\n- the top-level folders under this folder correspond to resource types,\n- the second-level folders correspond to the resource directory name.\n\nSo, the file traversable at ``/++theme++mytheme/myfile`` could be physically located at ``some_site/++etc++site/resources/theme/mytheme``\n\n.. TODO (XXX: provide a helper to upload a tarball/zip)\n\n\nFiles in Python distributions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nA folder in a Python distribution (e.g. egg) can be registered as a resource directory of a particular type and name using the ``plone:static`` ZCML directive.\nFor example, this registers a directory named \"theme\" as a resource directory of type \"theme\" under the name \"mytheme\".\nIt would be accessible at ``++theme++mytheme``::\n\n \n\n .. note::\n You must do ````\n before you can use the plone:static directive.\n\nThe name of the resource directory defaults to the name of the package, so can be omitted.\nE.g. the following directive in a package named \"mytheme\" would result in the same registration as above::\n\n \n\nTraversing upward in directory paths using ``..`` is not supported for security reasons, as it could allow unwanted file access.\n\nMinimum zcml config example\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n \n \n \n \n\n ..\n\nFiles in a central resource directory\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf the ``plone:static`` directive is used from ``site.zcml`` (i.e., with no active package in the ZCML import context),\nthen it may specify the absolute path to a top-level resources directory.\n\nThis directory should have the same sub-directory structure as explained above (in-ZODB resources directory):\n\n- the top-level folders under this folder correspond to resource types,\n- the second-level folders correspond to the resource directory name.\n\nIn addition, in order for resources to be available, the top-level directories *require a traverser* to be registered!\n\nFor example, the following in ``site.zcml`` registers the given path within the buildout root::\n\n \n\nIn order to automate this at buildout time, `plone.recipe.zope2instance`_ recipe has the option ``resources``.\nIt injects the above zcml snippet with into ``site.zcml`` by specifying the option like this::\n\n [instance]\n ...\n resources = ${buildout:directory}/resources\n ...\n\nExample:\nUsing ``plone.app.theming`` - which provides the ``++theme++`` traverser - given an image file located in filesystem at::\n\n ${buildout:directory}/resources/theme/my.project/logo.png``\n\nThis would be traversable at a URL like so::\n\n http://localhost:8080/Plone/++theme++my.project/logo.png\n\n.. _`plone.recipe.zope2instance`: http://pypi.python.org/pypi/plone.recipe.zope2instance\n\nAdditional traversers\n---------------------\n\nCustom traversers can be registered via ZCML using an adapter like so::\n\n \n\nwith a corresponding simple factory definition of::\n\n from plone.resource.traversal import ResourceTraverser\n class MyTraverser(ResourceTraverser):\n name = 'demo'\n\nThis, when coupled with configuration like that in the `Files in a central resource directory`_ section above, would mean that resources located at::\n\n ${buildout:directory}/resources/demo/my.project/logo.png\n\nwould be traversable at a URL like so::\n\n http://localhost:8080/Plone/++demo++my.project/logo.png\n\n.. TODO: What types of resources can be stored\n\n\nChangelog\n=========\n\n.. You should *NOT* be adding new change log entries to this file.\n You should create a file in the news directory instead.\n For helpful instructions, please see:\n https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst\n\n.. towncrier release notes start\n\n2.1.1 (2019-02-08)\n------------------\n\nBug fixes:\n\n\n- Fix deprecation and resource warnings. [gforcada] (#29)\n\n\n2.1.0 (2018-11-02)\n------------------\n\nBug fixes:\n\n- Fix tests in py3.\n [pbauer, jensens]\n\n- Change name of IResourceDirectoryDirective to TextLine to work with zope.configuration >= 4.2.\n See https://github.com/plone/Products.CMFPlone/issues/2591\n [pbauer]\n\n2.0.2 (2018-06-04)\n------------------\n\nBug fixes:\n\n- More Python 3 fixes.\n [ale, pbauer]\n\n\n2.0.1 (2018-02-05)\n------------------\n\nNew features:\n\n- Add python 2 / 3 compatibility\n\n\n2.0.0 (2018-01-17)\n------------------\n\nBreaking changes:\n\n- Remove Python2.6 support.\n [ale-rt]\n\nBug fixes:\n\n- Fixed 'ValueError: substring not found' in ``FilesystemResourceDirectory`` representation.\n This happens when you register a directory with a name that differs from the directory name.\n Visiting the ``/++theme++myname`` url would then give this error.\n We also avoid listing a longer part of the path in case the directory name happens to be in the path multiple times.\n [maurits]\n\n\n1.2.1 (2016-12-30)\n------------------\n\nBug fixes:\n\n- 'unittest2' is a test dependency, make this explicit in setup.py.\n [jensens]\n\n\n1.2 (2016-11-09)\n----------------\n\nNew features:\n\n- Fire events on resources creation/modification\n [jpgimenez, ebrehault]\n\n\n1.1 (2016-10-04)\n----------------\n\nNew features:\n\n- Use ``mimetypes_registry`` utility to dertermine mimetype if available.\n [jensens]\n\nBug fixes:\n\n- Remove duplicte import\n [jensens]\n\n- Add coding headers on python files.\n [gforcada]\n\n1.0.7 (2016-09-08)\n------------------\n\nBug fixes:\n\n- Applied 20160830 security hotfix. [maurits]\n\n\n1.0.6 (2016-08-10)\n------------------\n\nFixes:\n\n- Do not leave an ``.svn`` file behind when running the tests. [maurits]\n\n- Use zope.interface decorator.\n [gforcada]\n\n\n1.0.5 (2016-02-26)\n------------------\n\nFixes:\n\n- Test fix: ``clearZCML`` was removed from ``zope.component.tests``.\n [thet]\n\n- Cleanup: PEP8, plone-coding conventions, ReST fixes, documentation\n overhaul, et al.\n [jensens]\n\n\n1.0.4 (2015-03-21)\n------------------\n\n- use utf-8 encoding when writing more than just text/html\n [vangheem]\n\n- provides a proper __contains__ method in FilesystemResourceDirectory\n [ebrehault]\n\n\n1.0.3 (2014-10-13)\n------------------\n\n- security hardening: we don't want the anonymous user to look at our fs\n [giacomos]\n\n\n1.0.2 (2013-01-01)\n------------------\n\n- Nothing changed yet.\n\n\n1.0.1 (2012-05-25)\n------------------\n\n- Make sure text/html files imported as persistent files will be\n served with a utf-8 encoding. This fixes\n https://dev.plone.org/ticket/12838\n [davisagli]\n\n1.0 (2012-04-15)\n----------------\n\n- Add __setitem__() support for writeable resource directories.\n [optilude]\n\n1.0b6 (2011-11-24)\n------------------\n\n- Added rename() method for writable resource directories\n [optilude]\n\n- Added cloneResourceDirectory() helper method in the utils module\n [optilude]\n\n- Add a ++unique++ resource traverser for resource directories to cache as\n 'plone.stableResource'.\n [elro]\n\n1.0b5 (2011-06-08)\n------------------\n\n- Ensure any files are skipped in iterDirectoriesOfType.\n [elro]\n\n1.0b4 (2011-05-29)\n------------------\n\n- Add queryResourceDirectory() helper method.\n [optilude]\n\n1.0b3 (2011-05-23)\n------------------\n\n- Fix resource directory download bug with subdirectories.\n [elro]\n\n1.0b2 (2011-05-16)\n------------------\n\n- Add a more compatible filestream iterator for filesystem files that allows\n coercion to string or unicode. This fixes possible compatibility issues\n with resource merging through Resource Registries.\n [optilude]\n\n1.0b1 (2011-04-22)\n------------------\n\n- Initial release\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.org/project/plone.resource", "keywords": "plone resource", "license": "GPL version 2 or later", "maintainer": "", "maintainer_email": "", "name": "plone.resource", "package_url": "https://pypi.org/project/plone.resource/", "platform": "", "project_url": "https://pypi.org/project/plone.resource/", "project_urls": { "Homepage": "https://pypi.org/project/plone.resource" }, "release_url": "https://pypi.org/project/plone.resource/2.1.1/", "requires_dist": [ "plone.caching", "python-dateutil", "setuptools", "z3c.caching", "zope.component", "zope.configuration", "zope.filerepresentation", "zope.interface", "zope.publisher", "zope.schema", "zope.traversing", "Zope2", "six", "plone.app.testing ; extra == 'test'" ], "requires_python": "", "summary": "Static files for Plone", "version": "2.1.1" }, "last_serial": 4795494, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "fdeab842df51fbfb9ab7d8cafe27353e", "sha256": "e63beef61d58d944d2f7f1df5fa94e972586eae7e4d36fb31b2454fdfc504426" }, "downloads": -1, "filename": "plone.resource-1.0.zip", "has_sig": false, "md5_digest": "fdeab842df51fbfb9ab7d8cafe27353e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45741, "upload_time": "2012-04-15T21:44:27", "url": "https://files.pythonhosted.org/packages/db/f4/0cdfcd1ba71c645e364bec4fd55240eac6046f7789db09b26d5338c6da58/plone.resource-1.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "8fad99a12498471b4bac068c06d2a2d7", "sha256": "f04be87b010daa5b1d9924d2472077fb19c6d720f0668bd15556a87159b507bf" }, "downloads": -1, "filename": "plone.resource-1.0.1.zip", "has_sig": false, "md5_digest": "8fad99a12498471b4bac068c06d2a2d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47671, "upload_time": "2012-05-25T22:42:29", "url": "https://files.pythonhosted.org/packages/58/b3/79dbdd7f61155ef2df0007f6789a7f9b85ea823ab3d7ecf5105d38e40b96/plone.resource-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "594d41e3acd913ae92f2e9ef96503b9f", "sha256": "d112b05388a98622348023180c60726c4d2066355f36c90da4a98d41e030fadd" }, "downloads": -1, "filename": "plone.resource-1.0.2.zip", "has_sig": false, "md5_digest": "594d41e3acd913ae92f2e9ef96503b9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48011, "upload_time": "2013-01-02T02:57:24", "url": "https://files.pythonhosted.org/packages/b6/46/788c183dcdd3ffaeeb98fc5b2bd1894b5ed052470baa5d35c5a5141cae2c/plone.resource-1.0.2.zip" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "cc65e786c73128eb45fd5bae6b477705", "sha256": "520040f2e307952c8889db07f704594ffa1a814307278d181064478de7ca5fd0" }, "downloads": -1, "filename": "plone.resource-1.0.3.zip", "has_sig": false, "md5_digest": "cc65e786c73128eb45fd5bae6b477705", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48252, "upload_time": "2014-10-14T01:13:26", "url": "https://files.pythonhosted.org/packages/67/36/384c7b4e30a93ab4c02ab0fec39322920c6b7e5410b3aea8ecf6ef5330c8/plone.resource-1.0.3.zip" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "ed52906e77534b1b6701da6bd2c2597d", "sha256": "50bcfd02aebcc58fd68d5574bd24cda1941022739fd11da87fe885b1264b6673" }, "downloads": -1, "filename": "plone.resource-1.0.4.zip", "has_sig": false, "md5_digest": "ed52906e77534b1b6701da6bd2c2597d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48557, "upload_time": "2015-03-21T19:59:45", "url": "https://files.pythonhosted.org/packages/a9/0d/5e07a04c03d8d593f849ecdf2755616ef50366b69d6c8f7579e7a5114b95/plone.resource-1.0.4.zip" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "df5ae9341f542688bf8b5fd81b08c36f", "sha256": "bc2f1d7446480bc222f556e9603780866ef85ca803c515dc29c5616b61425d88" }, "downloads": -1, "filename": "plone.resource-1.0.5.tar.gz", "has_sig": false, "md5_digest": "df5ae9341f542688bf8b5fd81b08c36f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30947, "upload_time": "2016-02-26T18:53:47", "url": "https://files.pythonhosted.org/packages/fc/d4/7460c81b5f698f78327c5007798cea05b5c873ef644a0784d287c187612c/plone.resource-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "0b804e4f79245fe1ee4f60df37b1abd4", "sha256": "6e3c1d552cbc9c50f9fa4040a5380d1ff2203a7e0b00eff0282513e453188743" }, "downloads": -1, "filename": "plone.resource-1.0.6.tar.gz", "has_sig": false, "md5_digest": "0b804e4f79245fe1ee4f60df37b1abd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31502, "upload_time": "2016-08-10T21:24:00", "url": "https://files.pythonhosted.org/packages/44/4d/6503bfa7f7638cb51b8fcdea7ce5c65f8a82c5a93921ee200d0d4372977c/plone.resource-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "604edd3d9156754b09552d157baf1d28", "sha256": "7a22cb8636cb69d0c943e3bbcdf317cf79ab2445c071ff1b67fa3bca48b3cf3d" }, "downloads": -1, "filename": "plone.resource-1.0.7.tar.gz", "has_sig": false, "md5_digest": "604edd3d9156754b09552d157baf1d28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31735, "upload_time": "2016-09-07T23:25:35", "url": "https://files.pythonhosted.org/packages/35/5a/4eda5c3230ed0630e06aaaa6fe57463999c6107418ffb56e0b73fd5ae9f0/plone.resource-1.0.7.tar.gz" } ], "1.0b1": [ { "comment_text": "", "digests": { "md5": "3962a4a199b19e974f6dfb968a0f47a4", "sha256": "dd6f18094ba7fc39ba8a6bd982b3dd5595034354130d51a46e3e9cf7eec8e975" }, "downloads": -1, "filename": "plone.resource-1.0b1.zip", "has_sig": false, "md5_digest": "3962a4a199b19e974f6dfb968a0f47a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42686, "upload_time": "2011-04-22T21:50:30", "url": "https://files.pythonhosted.org/packages/bd/ae/39490447abba26a35063983d2ba2e5d67dcea89df8f682300d219ce98280/plone.resource-1.0b1.zip" } ], "1.0b2": [ { "comment_text": "", "digests": { "md5": "1eb514e335474fc86a5eb4f9f8c7e18c", "sha256": "b63a0144a8e52f3c72eb5d5851be870b5fab889253fd98676b96098e24c7c40a" }, "downloads": -1, "filename": "plone.resource-1.0b2.zip", "has_sig": false, "md5_digest": "1eb514e335474fc86a5eb4f9f8c7e18c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43240, "upload_time": "2011-05-16T14:54:14", "url": "https://files.pythonhosted.org/packages/e3/b9/0315f8ada4b76cb129e4a35d4b434dbce6326549eb7398fed02eadcfa81b/plone.resource-1.0b2.zip" } ], "1.0b3": [ { "comment_text": "", "digests": { "md5": "bd884b1f38d69812ef593f1a5c37fff0", "sha256": "15fb1f2438056d2437273f6a8511639aadc5eabac034c6e630f174bc5b0ae71e" }, "downloads": -1, "filename": "plone.resource-1.0b3.zip", "has_sig": false, "md5_digest": "bd884b1f38d69812ef593f1a5c37fff0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43719, "upload_time": "2011-05-23T19:41:50", "url": "https://files.pythonhosted.org/packages/8f/24/16c14bee0ab2abc29be4977bf37385a76383521daf738f4f5bb9f0fa0310/plone.resource-1.0b3.zip" } ], "1.0b4": [ { "comment_text": "", "digests": { "md5": "797e23207052b0374b9bd4ce4a9cb82b", "sha256": "8ed8ab99c753a058a6a295e34ed545f39e5f38aee4aed4f496c8b867a37f781e" }, "downloads": -1, "filename": "plone.resource-1.0b4.zip", "has_sig": false, "md5_digest": "797e23207052b0374b9bd4ce4a9cb82b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43720, "upload_time": "2011-05-29T18:32:46", "url": "https://files.pythonhosted.org/packages/31/1e/375546d0d63b9f2205d5ea584f31c53e71edf97b27dba9495d266d99b76f/plone.resource-1.0b4.zip" } ], "1.0b5": [ { "comment_text": "", "digests": { "md5": "03ca0d63caf2783ff0b573bda7c228ef", "sha256": "bf03cd380a26e23f5d7c7768221043e4b0b44466956fa39aa5b267526f35b153" }, "downloads": -1, "filename": "plone.resource-1.0b5.zip", "has_sig": false, "md5_digest": "03ca0d63caf2783ff0b573bda7c228ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43730, "upload_time": "2011-06-08T17:39:43", "url": "https://files.pythonhosted.org/packages/e3/89/a3101acb3577f2ef46d1513d35e4d05de6aeef991192d41d38433dc7fc94/plone.resource-1.0b5.zip" } ], "1.0b6": [ { "comment_text": "", "digests": { "md5": "495d4e752eba2e5455e91760d75f7f6e", "sha256": "c622d787da40f77086f47477d1e210582c24e1cf9eb4315753770ce4eab8fb54" }, "downloads": -1, "filename": "plone.resource-1.0b6.tar.gz", "has_sig": false, "md5_digest": "495d4e752eba2e5455e91760d75f7f6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26617, "upload_time": "2011-11-25T02:33:13", "url": "https://files.pythonhosted.org/packages/fe/de/00dc12a992c105539e4b08cfc85d0da8b2bf15c8296341f34f1685583a91/plone.resource-1.0b6.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "5d2a7c11e2a809e0a69061e573b83052", "sha256": "9b45af7ad1139476078169282f4598993798304e7cc2b3aeb727c7cc33be830d" }, "downloads": -1, "filename": "plone.resource-1.1.tar.gz", "has_sig": false, "md5_digest": "5d2a7c11e2a809e0a69061e573b83052", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31987, "upload_time": "2016-10-04T17:23:43", "url": "https://files.pythonhosted.org/packages/7b/4c/e950901e9f6701724003a4967c58a6950c8d819addc6f91a9cdac09550a6/plone.resource-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "dbc8c5872219451ea4c26d3a0889edee", "sha256": "dd69bbb2556718cb8d5b66782ad3f7d498a07f90785fa764b561032c7653bad6" }, "downloads": -1, "filename": "plone.resource-1.2.tar.gz", "has_sig": false, "md5_digest": "dbc8c5872219451ea4c26d3a0889edee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32587, "upload_time": "2016-11-09T15:56:56", "url": "https://files.pythonhosted.org/packages/65/6c/f51a2a5c1d7432b4cff979fdeb3ab3d9a7dedfeb343929e77b34839952de/plone.resource-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "a70679cce360b915bead36e1cca92b05", "sha256": "1eef5c148f06b6c464608d5ac583fdbcf3765a34d9db6b0b755606a73f770130" }, "downloads": -1, "filename": "plone.resource-1.2.1.tar.gz", "has_sig": false, "md5_digest": "a70679cce360b915bead36e1cca92b05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32805, "upload_time": "2016-12-30T14:43:48", "url": "https://files.pythonhosted.org/packages/f9/5b/ccbf25ec2c4d35d35470b3d291b4835bf59138110555b6e224b87507c17d/plone.resource-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "fba8beea813815dacafcd593a729b8f0", "sha256": "b6fbfa9b59c6dbab3744c487863346ff162efa8635e1c2bb3e693c6ae1fcd584" }, "downloads": -1, "filename": "plone.resource-1.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "fba8beea813815dacafcd593a729b8f0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 39434, "upload_time": "2018-01-17T17:54:46", "url": "https://files.pythonhosted.org/packages/80/ae/f4b0161ffc1519b8572f219c1e9b81c2ab5dc6816100a02631c385d28f8e/plone.resource-1.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd04e30dd15c8f16fe6ce917553be9e4", "sha256": "d42277a271cf8858e3133a113e8f7eee6ca1c72a6fa21ee3627cf727dfac9142" }, "downloads": -1, "filename": "plone.resource-1.2.2.tar.gz", "has_sig": false, "md5_digest": "fd04e30dd15c8f16fe6ce917553be9e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32750, "upload_time": "2018-01-17T17:54:48", "url": "https://files.pythonhosted.org/packages/d8/20/8ac5e905a3e26752f868815926ae6a480a912ba2778cf32774ea0a29f5db/plone.resource-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "4922572602a2e94b489fabb2c4e5bc63", "sha256": "b162bb6ca18c36df9eb33c4d925337b29f5bc26ddfdd2d56133db1985b07c371" }, "downloads": -1, "filename": "plone.resource-1.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "4922572602a2e94b489fabb2c4e5bc63", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 39488, "upload_time": "2018-01-17T20:03:16", "url": "https://files.pythonhosted.org/packages/15/88/9805cb5762e67af6380162a2e50974cdd739709e1107b5d4d828f0fd1bf3/plone.resource-1.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37f0fde0a741907f7a245f75bc128fd0", "sha256": "95128b44b04c874a62de883f095d730147b63ef68585a8f1be7a644cc421ed06" }, "downloads": -1, "filename": "plone.resource-1.2.3.tar.gz", "has_sig": false, "md5_digest": "37f0fde0a741907f7a245f75bc128fd0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32760, "upload_time": "2018-01-17T20:03:17", "url": "https://files.pythonhosted.org/packages/8f/8b/98c7d9f716caceb5b92088d46ea79d20d84f1c04a7150ab9a460f2fc1005/plone.resource-1.2.3.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "7eb576bceed50028f94967609bb6377a", "sha256": "5aedb3de70d0fd44b9012de0a3f5cf5e129301c9b7805f6a6f045ae8f7a8d968" }, "downloads": -1, "filename": "plone.resource-2.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "7eb576bceed50028f94967609bb6377a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 39431, "upload_time": "2018-01-17T20:06:05", "url": "https://files.pythonhosted.org/packages/78/2f/b4d3abd7b5915ea0ca3bc2fc43357c2635e42f61f6fbd37d7439a8be6175/plone.resource-2.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f11b061a7d2ab0369b606d5e78b44075", "sha256": "ed41669af38d8daf78ec34adc25787899691c5cc8e4cf8f7f985347991026c82" }, "downloads": -1, "filename": "plone.resource-2.0.0.tar.gz", "has_sig": false, "md5_digest": "f11b061a7d2ab0369b606d5e78b44075", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32760, "upload_time": "2018-01-17T20:06:07", "url": "https://files.pythonhosted.org/packages/a6/0a/54f3a652565fef846da7dc108c211ca1f6f0df869c130fe9630b2c3216c7/plone.resource-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "b48f7b4846505ef67096946b3fec016a", "sha256": "72b63df0d28d9ab0deb95178c8986704379c5e73ad25bd13e75c1b34d6be4463" }, "downloads": -1, "filename": "plone.resource-2.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "b48f7b4846505ef67096946b3fec016a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 39573, "upload_time": "2018-02-05T00:04:10", "url": "https://files.pythonhosted.org/packages/e2/74/06860c602a8eba8891c714c3f8f7d1ecd98cc75b33c5ce419ec185ec2df1/plone.resource-2.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fcd5287f79defce4012b8a948516a15a", "sha256": "9c2022e54902da0b75aaa90327c7bdcc04364a87e17ea620dde14dd690b9ebb3" }, "downloads": -1, "filename": "plone.resource-2.0.1.tar.gz", "has_sig": false, "md5_digest": "fcd5287f79defce4012b8a948516a15a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30286, "upload_time": "2018-02-05T00:04:12", "url": "https://files.pythonhosted.org/packages/86/94/0bfeda0478c18b9a6a765ed8c5c5b5bf5a073c07dd355110dc75ae573876/plone.resource-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "f5333450403b54cc3806dfad78c7581f", "sha256": "637c6fbd352de369fb5dbd1946888b775887a66b95e92884ccb19e9e073656bf" }, "downloads": -1, "filename": "plone.resource-2.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "f5333450403b54cc3806dfad78c7581f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 35530, "upload_time": "2018-06-04T14:20:48", "url": "https://files.pythonhosted.org/packages/3d/c2/5ad85830f1d09dab4557681eebe714ae93c581b2ca6211a99abf4233385c/plone.resource-2.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55d8556c428b2989bdf29a0e7c3169ad", "sha256": "c64271eb7fa8984331d5c2316b0077205dc8d9e5ef72a1857aa86d02dc10d01b" }, "downloads": -1, "filename": "plone.resource-2.0.2.tar.gz", "has_sig": false, "md5_digest": "55d8556c428b2989bdf29a0e7c3169ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33117, "upload_time": "2018-06-04T14:20:49", "url": "https://files.pythonhosted.org/packages/85/7f/b76e04f5f1edc33d3ca11ca49e2739786f21cd5d8e193e7b256fbc0d7898/plone.resource-2.0.2.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "5e76ddcf9ed98cd63cb7db12699e194e", "sha256": "eac0fb71727aac7eaa2c886accb9a5c916ddd066d1626cf1775432d8a63adde6" }, "downloads": -1, "filename": "plone.resource-2.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "5e76ddcf9ed98cd63cb7db12699e194e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 35778, "upload_time": "2018-11-03T02:13:49", "url": "https://files.pythonhosted.org/packages/21/6d/5f1a66fe0aa4a899af0fededc95baebcee77a329a4809ccc1b398d833438/plone.resource-2.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd64e4bd5948507f2f360e1d31f85426", "sha256": "4b99c160b7d46ab3596d4378e71aaa869cc13d52d35926b767588814c1d7cc2a" }, "downloads": -1, "filename": "plone.resource-2.1.0.tar.gz", "has_sig": false, "md5_digest": "bd64e4bd5948507f2f360e1d31f85426", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33373, "upload_time": "2018-11-03T02:14:00", "url": "https://files.pythonhosted.org/packages/cc/22/b25392338e27989aa7f4ed6d01873a06e1d31619b59d79d105df1743b17c/plone.resource-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "f4a6a3c94afd4a6f875d12f74d12a75e", "sha256": "a8d6d186e0eda10a17ea889653fc894deaadfc403b58d256b4519e6a0802e507" }, "downloads": -1, "filename": "plone.resource-2.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f4a6a3c94afd4a6f875d12f74d12a75e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35972, "upload_time": "2019-02-08T13:25:41", "url": "https://files.pythonhosted.org/packages/96/bc/8c8708455db9a536099955d83f63f06f7c92e2a0323c0f365cea31a8c659/plone.resource-2.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45bbb5620fee46750b8deba9110073cb", "sha256": "5f120a024977f0fc2627220e2bf97ecf1f20fd0cce9b90a6c655d565b21df2b3" }, "downloads": -1, "filename": "plone.resource-2.1.1.tar.gz", "has_sig": false, "md5_digest": "45bbb5620fee46750b8deba9110073cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31108, "upload_time": "2019-02-08T13:25:43", "url": "https://files.pythonhosted.org/packages/39/a8/01de85c2ded9f0673e47222ab100cef884bc6346e28e451c0735a0d26950/plone.resource-2.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f4a6a3c94afd4a6f875d12f74d12a75e", "sha256": "a8d6d186e0eda10a17ea889653fc894deaadfc403b58d256b4519e6a0802e507" }, "downloads": -1, "filename": "plone.resource-2.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f4a6a3c94afd4a6f875d12f74d12a75e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35972, "upload_time": "2019-02-08T13:25:41", "url": "https://files.pythonhosted.org/packages/96/bc/8c8708455db9a536099955d83f63f06f7c92e2a0323c0f365cea31a8c659/plone.resource-2.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45bbb5620fee46750b8deba9110073cb", "sha256": "5f120a024977f0fc2627220e2bf97ecf1f20fd0cce9b90a6c655d565b21df2b3" }, "downloads": -1, "filename": "plone.resource-2.1.1.tar.gz", "has_sig": false, "md5_digest": "45bbb5620fee46750b8deba9110073cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31108, "upload_time": "2019-02-08T13:25:43", "url": "https://files.pythonhosted.org/packages/39/a8/01de85c2ded9f0673e47222ab100cef884bc6346e28e451c0735a0d26950/plone.resource-2.1.1.tar.gz" } ] }