{ "info": { "author": "Zope Foundation and Contributors", "author_email": "zope-dev@zope.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Zope :: 3", "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Internet :: WWW/HTTP" ], "description": "This package provides a pagelet based layer setup for Zope3.\n\n\n.. contents::\n\n==============================\nPagelet-based Layer for Zope 3\n==============================\n\nThis package contains the pagelet layer. This layer supports a correct set of\ncomponent registration and can be used for inheritation in custom skins.\n\nRight now the default implementation in Zope3 has different restriction in the\ntraversal concept and use to much registration on the default layer.\n\nImportant\n---------\n\nThis layer ia based on the pagelet pattern. This means every page e.g. the\nerror page is based on the pagelet concept.\n\n\n``IPageletBrowserLayer`` Layer\n------------------------------\n\nThe pagelet layer is useful for build custom presentation skins without access\nto ZMI menus like ``zmi_views`` etc. This means there is no menu item\nregistred if you use this layer.\n\nThis layer is *NOT* derived from ``IDefaultBrowserLayer`` layer. Therefore it\nprovides only a minimal set of the most important public views such as\n``@@absolute_url`` which get registered in zope packages for the IHTTPRequest\nand IBrowserRequest. Next to this views, this package will only provide error\nviews and traversers which are normaly regsitered in the following zope\npackages:\n\n- ``zope.app.http.exception``\n- ``zope.app.publication``\n- ``zope.browserresource``\n- ``zope.traversing``\n\nNote, this package does not depend on all the packages described above. We only\nneed to depend on the same interfaces where this package will define views and\ntraversers for.\n\n\nTesting\n-------\n\nFor testing the ``IPageletBrowserLayer`` layer we use the testing skin defined\nin the tests package which uses the ``IPageletBrowserLayer`` layer as the only\nbase layer. This means, that our testing skin provides only the views defined\nin the minimal package and it's testing views defined in tests.\n\nLogin as manager first:\n\n >>> from webtest.app import TestApp\n >>> manager = TestApp(\n ... make_wsgi_app(), extra_environ={\n ... 'wsgi.handleErrors': False,\n ... 'HTTP_AUTHORIZATION': 'Basic mgr:mgrpw'})\n\nCheck if we can access the ``page.html`` view which is registred in the\n``ftesting.zcml`` file with our skin:\n\n >>> skinURL = 'http://localhost/++skin++PageletTestSkin'\n >>> res = manager.get(skinURL + '/page.html')\n >>> res.request.url\n 'http://localhost/++skin++PageletTestSkin/page.html'\n\n >>> print(res.html)\n \n \n PageletTestLayout\n \n \n test page\n \n \n \n \n\nNot Found\n~~~~~~~~~\n\nNow check the not found page which is a exception view on the exception\n``zope.publisher.interfaces.INotFound``:\n\n >>> err_manager = TestApp(\n ... make_wsgi_app(), extra_environ={\n ... 'HTTP_AUTHORIZATION': 'Basic mgr:mgrpw'})\n\n >>> res = err_manager.get(skinURL + '/foobar.html', status=404)\n\n >>> print(res.html)\n \n \n PageletTestLayout\n \n \n
\n
\n
\n

\n The page you are trying to access is not available\n

\n
\n \n Please try the following:\n \n
\n
    \n
  1. \n Make sure that the Web site address is spelled correctly.\n
  2. \n
  3. \n \n Go back and try another URL.\n \n
  4. \n
\n
\n \n \n \n \n\nUser error\n~~~~~~~~~~\n\nAnd check the user error page which is a view registred for\n``zope.exceptions.interfaces.IUserError`` exceptions:\n\n >>> manager.get(skinURL + '/@@usererror.html')\n Traceback (most recent call last):\n ...\n UserError: simply user error\n\n >>> res = err_manager.get(skinURL + '/@@usererror.html')\n >>> print(res.html)\n \n \n PageletTestLayout\n \n \n
\n
simply user error
\n
\n \n \n \n \n\nCommon exception (system error)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAnd check error view registred for\n``zope.interface.common.interfaces.IException``, it sets the HTTP status\ncode to 500 if called during tests or if development mode is switched on:\n\n >>> res = manager.get(skinURL + '/@@systemerror.html')\n Traceback (most recent call last):\n ...\n Exception: simply system error\n\n >>> res = err_manager.get(skinURL + '/@@systemerror.html', status=500)\n >>> print(res.html)\n \n \n PageletTestLayout\n \n \n
\n
\n
\n

A system error occurred

\n
\n Please contact the administrator.\n \n Go back and try another URL.\n \n
\n \n \n \n \n\nUnauthorized\n~~~~~~~~~~~~\n\nTo check the ``zope.security.interfaces.IUnauthorized`` view, we use a\nnew unregistred user (test browser). As we have defined an\nunauthenticatedPrincipal in ZCML (see tests/ftesting.zcml) ``401\nUnauthorized`` is returned instead of ``403 Forbidden`` which would\nshow up otherwise:\n\n >>> unauthorized = TestApp(make_wsgi_app())\n >>> res = unauthorized.get(skinURL + '/@@forbidden.html', status=401)\n\n >>> print(res.html)\n \n \n PageletTestLayout\n \n \n
\n
\n
\n

Unauthorized

\n
\n You are not authorized.\n
\n \n \n\nForbidden\n~~~~~~~~~\n\nWhen an authorized user tries to access a URL where he does not have enough\npermissions he gets a ``403 Forbidden``, the displayed page contents are the\nsame like ``401 Unauthorized``. When an authentication utility is registered\nit might display a log-in form:\n\n >>> authorized = TestApp(\n ... make_wsgi_app(), extra_environ={\n ... 'HTTP_AUTHORIZATION': 'Basic mgr:mgrpw'})\n >>> res = authorized.get(skinURL + '/@@forbidden.html', status=403)\n\n >>> print(res.html)\n \n \n PageletTestLayout\n \n \n
\n
\n
\n

Unauthorized

\n
\n You are not authorized.\n
\n \n \n\n\n=======\nCHANGES\n=======\n\n2.1 (2018-12-01)\n----------------\n\n- Add support for Python 3.5 up to 3.7.\n\n- Drop support for Python 2.6 and 3.3.\n\n- Drop the ability to run the tests using `python setup.py test`.\n\n\n2.0.0 (2015-11-09)\n------------------\n\n- Standardize namespace __init__.\n\n- Claim Python 3.4 support.\n\n\n2.0.0a1 (2013-03-03)\n--------------------\n\n- Added support for Python 3.3.\n\n- Changed ``zope.testbrowser`` tests to ``WebTest``, since ``zope.testbrowser``\n is not yet ported.\n\n- Replaced deprecated ``zope.interface.implements`` usage with equivalent\n ``zope.interface.implementer`` decorator.\n\n- Dropped support for Python 2.4 and 2.5.\n\n\n1.10.1 (2012-03-03)\n-------------------\n\n- Added adapter registration for `zope.browserresource.interfaces.IETag`\n interface to be available on ``IPageletBrowserLayer``. This adapter is\n necessary to deliver file resources.\n\n\n1.10.0 (2012-02-23)\n-------------------\n\n- Sets HTTP status code to 500 on system errors but only in devmode and in\n tests.\n\n\n1.9.0 (2010-10-13)\n------------------\n\n- Re-release of 1.8.1 as the changes in it require a new major release\n because they broke `z3c.authviewlet`.\n\n\n1.8.2 (2010-10-13)\n------------------\n\n- Re-release of 1.8.0 as the changes in 1.8.1 require a new major\n release because they break `z3c.authviewlet`.\n\n\n1.8.1 (2010-10-11)\n------------------\n\n- Doing redirect in ``UnauthorizedPagelet`` now in ``update`` method instead\n of ``render`` so the layout templage does not get rendered when\n redirecting.\n\n- Fixed tests: Using manager account, so anonymous user does not need to get\n all permissions for running tests successfully.\n\n- Got rid of `zope.app.testing` test dependency by using `zope.app.wsgi`.\n\n- Got rid of `zope.app.authentication` test dependency.\n\n- Added a test for ``403 Forbidden``.\n\n\n1.8.0 (2010-08-20)\n------------------\n\n- Requiring `zope.login` so tests run with `zope.publisher` >= 3.12.\n\n\n1.7.0 (2009-12-24)\n------------------\n\n- Added i18n domains to templates, so they can be translated. (Done\n using `z3c.locales`.)\n\n\n1.6.1 (2009-12-23)\n------------------\n\n- Moved `zope.browserresource` from test dependencies to install\n dependencies as it is needed in the ZCML configuration.\n\n\n1.6.0 (2009-11-30)\n------------------\n\n- Changed view for ``zope.publisher.interfaces.ITraversalException`` from\n system error pagelet to not found pagelet.\n\n- Moved authentication viewlets to `z3c.authviewlet`.\n\n- Cleaned up dependencies, reflecting changes in zope packages.\n\n- Cleaned up test dependencies.\n\n\n1.5.0 (2009-05-28)\n------------------\n\n- Removed dependency on ``zope.app.exception`` by using\n ``zope.browser>=1.2`` and by implementing the exception view classes\n directly instead of inheriting them (Quite nothing of the base\n classes was in use here.)\n\n- Removed not necessary test dependency on ``zope.app.twisted``.\n\n- Removed no longer necessary test dependency on ``zope.app.component``.\n\n\n1.4.0 (2009-03-16)\n------------------\n\n- Removed direct dependency on ``zope.app.security`` by using the new\n packages ``zope.authentication`` and ``zope.principalregistry``.\n\n- Removed not needed test-dependency on ``zope.app.zcmlfiles``.\n\n- Fixed namespace package declaration in ``setup.py``.\n\n\n1.3.0 (2009-03-13)\n------------------\n\n- Implemented login and logout using pagelets resp. viewlets.\n\n- Updated tests to use new ``zope.configuration`` which containts the\n exclude directive.\n\n\n1.2.1 (2009-02-21)\n------------------\n\n- Release 1.2.0 was missing the test file for the security issue.\n\n\n1.2.0 (2009-02-21)\n------------------\n\n- **Security issue:** The traverser defined for\n ``IPageletBrowserLayer`` was a trusted adapter, so the security\n proxy got removed from each traversed object. Thus all sub-objects\n were publically accessable, too.\n\n\n1.1.0 (2009-02-14)\n------------------\n\n- Bugfix: use IContentTemplate instead of IPageTemplate which avoids to get the\n layout template if no IPageTemplate is registered.\n\n- Using ``zope.location.interfaces.ISite`` instead of\n ``zope.app.component.interfaces.ISite``.\n\n- Using ``zope.container`` instead of ``zope.app.container``.\n\n- Cleaned up dependencies.\n\n\n1.0.2 (2009-04-03)\n------------------\n\n- backport release, see release date\n\n- **Security issue:** The traverser defined for\n ``IPageletBrowserLayer`` was a trusted adapter, so the security\n proxy got removed from each traversed object. Thus all sub-objects\n were publically accessable, too.\n\n Making this change might BREAK your application!\n That means if security is not well declared.\n\n- Bugfix: use IContentTemplate instead of IPageTemplate which avoids to get the\n layout template if no IPageTemplate is registered\n\n\n1.0.1 (2008-01-24)\n------------------\n\n- Bug: Update meta data.\n\n\n1.0.0 (2008-01-21)\n------------------\n\n- Restructure: Move ``z3c.layer.pagelet`` package to it's own top level\n package form ``z3c.layer`` to ``z3c.layer.pagelet``.\n\n- Restructure: Removed ``zope.app.form`` support from pagelet layer.\n\n\n0.2.3 (2007-11-07)\n------------------\n\n- Forward-Bug: Due to a bug in mechanize, the testbrowser throws\n ``httperror_seek_wrapper`` instead of ``HTTPError`` errors. Thanks to RE\n normalizers, the code will now work whether the bug is fixed or not in\n mechanize.\n\n\n0.2.2 (2007-10-31)\n------------------\n\n- Bug: Fixed package meta-data.\n\n- Bug: Fixed test failures due to depency updates.\n\n- Restructure: Fixed deprecation warning for ``ZopeSecurityPolicy``.\n\n\n0.2.1 (2007-??-??)\n------------------\n\n- Changes unknown.\n\n\n0.2.0 (2007-??-??)\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": "http://pypi.python.org/pypi/z3c.layer.pagelet", "keywords": "z3c pagelet layer zope zope3", "license": "ZPL 2.1", "maintainer": "", "maintainer_email": "", "name": "z3c.layer.pagelet", "package_url": "https://pypi.org/project/z3c.layer.pagelet/", "platform": "", "project_url": "https://pypi.org/project/z3c.layer.pagelet/", "project_urls": { "Homepage": "http://pypi.python.org/pypi/z3c.layer.pagelet" }, "release_url": "https://pypi.org/project/z3c.layer.pagelet/2.1/", "requires_dist": [ "setuptools", "z3c.pagelet", "z3c.template", "zope.authentication", "zope.browser (>=1.2)", "zope.browserresource", "zope.component", "zope.interface", "zope.login", "zope.publisher (>=3.12)", "WebTest; extra == 'test'", "zope.app.wsgi (>=3.8); extra == 'test'", "zope.exceptions; extra == 'test'", "zope.principalregistry; extra == 'test'", "zope.publisher; extra == 'test'", "zope.security; extra == 'test'", "zope.securitypolicy; extra == 'test'", "zope.testing; extra == 'test'", "zope.testrunner; extra == 'test'" ], "requires_python": "", "summary": "Pagelet layer setup for Zope 3", "version": "2.1" }, "last_serial": 4549670, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "90a1b67fc5b5e16b65901e4683c7af5e", "sha256": "53c0be6cfc626f3245a13431d5e192b8b099ac9aa5f69f228668e6fd490ab33b" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.0.0.tar.gz", "has_sig": false, "md5_digest": "90a1b67fc5b5e16b65901e4683c7af5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10083, "upload_time": "2008-01-21T04:37:37", "url": "https://files.pythonhosted.org/packages/d7/db/a1eda1b1641d5e959c56e00d45c2242fb4f4e5e3055c028c97db723ac591/z3c.layer.pagelet-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "90032cd79eaafd3f1104c8cc0101fb10", "sha256": "2728aa944f4ae8bed8aa2ec17b7e396a584afe53f4f16ebcec2e4ec4b94f18c4" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.0.1.tar.gz", "has_sig": false, "md5_digest": "90032cd79eaafd3f1104c8cc0101fb10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10437, "upload_time": "2008-01-25T02:29:20", "url": "https://files.pythonhosted.org/packages/ec/a7/f80ee42e03b369302e38fb7218fab1973cb99377cb6f449856a89d195577/z3c.layer.pagelet-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "773be22c723af182d3e819a73d3322a7", "sha256": "8f9cd59d958614c25c22c9e3895c98202e25295d156aa4f602b3601d5ed4bc87" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.0.2.zip", "has_sig": false, "md5_digest": "773be22c723af182d3e819a73d3322a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26375, "upload_time": "2009-04-03T17:36:28", "url": "https://files.pythonhosted.org/packages/d8/ef/82e73eb6c9f80a01bf6f34cf7cd0212cc096fccad63b571e7a4a9a439b56/z3c.layer.pagelet-1.0.2.zip" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "ed9c09b634778018aac6fc6aa327fbcd", "sha256": "c45fc6cf39a01d5d2ce352b6ad8a4ae0c80d9cae1a4e6d1a03de7393bc19dbb1" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.1.0.tar.gz", "has_sig": false, "md5_digest": "ed9c09b634778018aac6fc6aa327fbcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12578, "upload_time": "2009-02-14T15:10:38", "url": "https://files.pythonhosted.org/packages/bb/ee/d4a498aa8559223af63385c5aa3e638e5f7552aa93737ed19ab14464f920/z3c.layer.pagelet-1.1.0.tar.gz" } ], "1.10.0": [ { "comment_text": "", "digests": { "md5": "bed6e141cc587c9f61c1abc94fb4a441", "sha256": "b8aee1b914efceb8f3c9d0db620533a822d4fe8382835eb743aec6cf8e6cedce" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.10.0.tar.gz", "has_sig": false, "md5_digest": "bed6e141cc587c9f61c1abc94fb4a441", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17981, "upload_time": "2012-02-23T20:55:09", "url": "https://files.pythonhosted.org/packages/6b/e0/48c02e441a68283a40abbe6bd7c74a1cc74f3d9bd7df2714c4d62997ac21/z3c.layer.pagelet-1.10.0.tar.gz" } ], "1.10.1": [ { "comment_text": "", "digests": { "md5": "3dceefff5c7493c52330a9b84d4a5ac6", "sha256": "aabe39fef99587d1f233de29a8cdc404ccca35a383f09428556f4b286bdc3756" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.10.1.tar.gz", "has_sig": false, "md5_digest": "3dceefff5c7493c52330a9b84d4a5ac6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18147, "upload_time": "2012-03-03T20:40:12", "url": "https://files.pythonhosted.org/packages/97/1d/1cde63e52876764f9c7a2b38cdd923d1f59fb927f8e4b3bede28228d3f87/z3c.layer.pagelet-1.10.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "0a9e2ca41d4a4b7d1e4ac4aebda0d7db", "sha256": "f918c9da2454c3d26eb1ee8ae1b7d6cab3144ce5322e5acb0f77ead7c61ac17f" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.2.0.tar.gz", "has_sig": false, "md5_digest": "0a9e2ca41d4a4b7d1e4ac4aebda0d7db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12441, "upload_time": "2009-02-21T14:55:16", "url": "https://files.pythonhosted.org/packages/53/4a/450cf8409f52901f403cba613168ebcabf3182a5c80a00732773a4a88a91/z3c.layer.pagelet-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "ae321761fb5cb0bdda343e7ed8e5235d", "sha256": "928a814bc1349f339abfdfb13a7400920b780860c816b770bcf5370c2a0df52e" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.2.1.tar.gz", "has_sig": false, "md5_digest": "ae321761fb5cb0bdda343e7ed8e5235d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12761, "upload_time": "2009-02-21T15:04:10", "url": "https://files.pythonhosted.org/packages/3f/ac/a8c73e2df6d2d725d023c6e8d7cb33b0199585741f9a95b1b6153abccf92/z3c.layer.pagelet-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "4172688ba26ce56b8f8d676ba997db3b", "sha256": "538c36e5134483eeebb7445271ed75b4b833e2564b0e64c0e8872839ad82f135" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.3.0.tar.gz", "has_sig": false, "md5_digest": "4172688ba26ce56b8f8d676ba997db3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26517, "upload_time": "2009-03-13T22:32:47", "url": "https://files.pythonhosted.org/packages/ab/aa/b6edb02b83ad9090ddd25132b969baa00d354b29057a2a31c86b0cc6f56e/z3c.layer.pagelet-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "64711eba90ba2906724cbfcccb2dd847", "sha256": "1e1ed946cd1b60fd798f56ce7f6c720133243529b9397d8d10782344ff805650" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.4.0.tar.gz", "has_sig": false, "md5_digest": "64711eba90ba2906724cbfcccb2dd847", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26730, "upload_time": "2009-03-16T20:15:22", "url": "https://files.pythonhosted.org/packages/49/3b/fdc5f849254420b3772ce5b8464aec0631c10d829ad49509e47a92cee7a4/z3c.layer.pagelet-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "b57cb7d9c0e9a34728f509dbee774fcd", "sha256": "d21f748ac0cb80311dc94e5f1b6b72613d2cc3551bc7c59c7497edf638cd36dc" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.5.0.tar.gz", "has_sig": false, "md5_digest": "b57cb7d9c0e9a34728f509dbee774fcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27104, "upload_time": "2009-05-28T21:31:30", "url": "https://files.pythonhosted.org/packages/7a/ff/3176633fab3471e41264c968e4459db6b369ee1771892d0034ed10454b91/z3c.layer.pagelet-1.5.0.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "8b5771a7b781c107b8ffc70102fabec2", "sha256": "5d927ec82061a1ff40f412d10dce821e0c168deae4c24068461f70780bafeb42" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.6.0.zip", "has_sig": false, "md5_digest": "8b5771a7b781c107b8ffc70102fabec2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28093, "upload_time": "2009-11-30T16:38:25", "url": "https://files.pythonhosted.org/packages/03/e3/695c2fd8b1e64c46069a4fa683b061fb4775d3b43da1d864a745b22cd79b/z3c.layer.pagelet-1.6.0.zip" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "3046e6fe264bdc5049b9c92ae4baed1a", "sha256": "a547962eccff8e31a00571e889f5ac2ed21640db6af546b12d95e74397cdb85c" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.6.1.tar.gz", "has_sig": false, "md5_digest": "3046e6fe264bdc5049b9c92ae4baed1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11878, "upload_time": "2009-12-23T10:39:56", "url": "https://files.pythonhosted.org/packages/30/c7/103885f0ec2400e7f386a8f9b2c40b66917b8f03dbab67f4f611a2903286/z3c.layer.pagelet-1.6.1.tar.gz" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "34f49a56627ae36bc67ff7c6764e9e8f", "sha256": "e2678e5bbe4695d41cfc2791b83cecac3ea0d3b40a4143f0065baaebdd053af3" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.7.0.tar.gz", "has_sig": false, "md5_digest": "34f49a56627ae36bc67ff7c6764e9e8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11970, "upload_time": "2009-12-24T08:43:04", "url": "https://files.pythonhosted.org/packages/6a/8a/03494e33379e23ce9c9725fc79b01bd92d8ddbf11269e8dc921295722908/z3c.layer.pagelet-1.7.0.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "2fd98d0c7f89e30ecf252461610fa75a", "sha256": "27b7b946ef375d9c5895fed035efe356f34510ea4db97a3c327a8b000cbfc324" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.8.0.tar.gz", "has_sig": false, "md5_digest": "2fd98d0c7f89e30ecf252461610fa75a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12039, "upload_time": "2010-08-20T15:44:25", "url": "https://files.pythonhosted.org/packages/6e/72/815e1688e08c514d7709046352198da618b2bd6b45f79d40827f5e96f515/z3c.layer.pagelet-1.8.0.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "34797f3706dca536f5f299732f338be6", "sha256": "8ea8f85b2aecc0b2069ba57ed9316e447d56f7fc494bb989ee1bab8ae85f6d48" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.8.1.tar.gz", "has_sig": false, "md5_digest": "34797f3706dca536f5f299732f338be6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12664, "upload_time": "2010-10-11T12:31:49", "url": "https://files.pythonhosted.org/packages/96/96/7c38528a36cd2f4e2d100b1611efb2af610736045910382c1c93ac2ee1e5/z3c.layer.pagelet-1.8.1.tar.gz" } ], "1.8.2": [ { "comment_text": "", "digests": { "md5": "a262d14cd9ad2ffd0a318bb93cb3d8bb", "sha256": "759989ecdf28506acd0c5203ba8d493bfe7689fca240d7297785e93f079428b9" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.8.2.tar.gz", "has_sig": false, "md5_digest": "a262d14cd9ad2ffd0a318bb93cb3d8bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12361, "upload_time": "2010-10-13T15:23:15", "url": "https://files.pythonhosted.org/packages/db/76/d3af934ca63ab2aeef882ceec3b180210e9d9765b9222a197895d47e05b2/z3c.layer.pagelet-1.8.2.tar.gz" } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "9086167569e28738c630c00218823e72", "sha256": "c4651ff7fbbb03d00d7417ceb097a50b1d4e2b66e5ac28f1aa83e6c429c1abd3" }, "downloads": -1, "filename": "z3c.layer.pagelet-1.9.0.tar.gz", "has_sig": false, "md5_digest": "9086167569e28738c630c00218823e72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12799, "upload_time": "2010-10-13T15:28:01", "url": "https://files.pythonhosted.org/packages/ab/9d/ff491dcccc9613657c27603726785d5c827e6e6426e9d417e21662144cf8/z3c.layer.pagelet-1.9.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "aedf57ab5d78d54e1165e4194dc51f09", "sha256": "75fbb99b7c68dbef2a5791dfe26cace916767a07e2b1df5d7cfc5b11b0bf6d51" }, "downloads": -1, "filename": "z3c.layer.pagelet-2.0.0.tar.gz", "has_sig": false, "md5_digest": "aedf57ab5d78d54e1165e4194dc51f09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19832, "upload_time": "2015-11-09T14:27:01", "url": "https://files.pythonhosted.org/packages/73/9a/2332bc82bb9c31076e145eecfea751d666e530ec45097d8587c4de18bb7b/z3c.layer.pagelet-2.0.0.tar.gz" } ], "2.0.0a1": [ { "comment_text": "", "digests": { "md5": "ec69182f117f296c8e43543ee2355bd9", "sha256": "f1fc99c94a66b39b6080e49b212d12dfc62585eb4efd1071de0d395cc82b9b90" }, "downloads": -1, "filename": "z3c.layer.pagelet-2.0.0a1.zip", "has_sig": false, "md5_digest": "ec69182f117f296c8e43543ee2355bd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36245, "upload_time": "2013-03-03T17:08:45", "url": "https://files.pythonhosted.org/packages/83/ab/34c65d873954b0241e1491dd86be43c0638cb0b6667a7ad7250a4a7846c5/z3c.layer.pagelet-2.0.0a1.zip" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "8ff1f48655c653fc927d7913df23a976", "sha256": "440f4c26cecd701d09764fd29536082fbd5efc7229a7c9aa595bb396c3721e20" }, "downloads": -1, "filename": "z3c.layer.pagelet-2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8ff1f48655c653fc927d7913df23a976", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26716, "upload_time": "2018-12-01T06:21:15", "url": "https://files.pythonhosted.org/packages/fd/fe/66809faadf5474a2167c08535daae0852336b53e007e9e41cbb469727bc1/z3c.layer.pagelet-2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6afff59c3c1a2b685b7692c179553389", "sha256": "e8d09864aac5878fdad808692f437b92e62d1aa31c8a6ba25080de8bb42f4ccd" }, "downloads": -1, "filename": "z3c.layer.pagelet-2.1.tar.gz", "has_sig": false, "md5_digest": "6afff59c3c1a2b685b7692c179553389", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18071, "upload_time": "2018-12-01T06:21:16", "url": "https://files.pythonhosted.org/packages/78/1d/1219f5d624b2394ff69fdf8606c2f590d62811d5c2c162cefd32674bcf34/z3c.layer.pagelet-2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8ff1f48655c653fc927d7913df23a976", "sha256": "440f4c26cecd701d09764fd29536082fbd5efc7229a7c9aa595bb396c3721e20" }, "downloads": -1, "filename": "z3c.layer.pagelet-2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8ff1f48655c653fc927d7913df23a976", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26716, "upload_time": "2018-12-01T06:21:15", "url": "https://files.pythonhosted.org/packages/fd/fe/66809faadf5474a2167c08535daae0852336b53e007e9e41cbb469727bc1/z3c.layer.pagelet-2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6afff59c3c1a2b685b7692c179553389", "sha256": "e8d09864aac5878fdad808692f437b92e62d1aa31c8a6ba25080de8bb42f4ccd" }, "downloads": -1, "filename": "z3c.layer.pagelet-2.1.tar.gz", "has_sig": false, "md5_digest": "6afff59c3c1a2b685b7692c179553389", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18071, "upload_time": "2018-12-01T06:21:16", "url": "https://files.pythonhosted.org/packages/78/1d/1219f5d624b2394ff69fdf8606c2f590d62811d5c2c162cefd32674bcf34/z3c.layer.pagelet-2.1.tar.gz" } ] }