{
"info": {
"author": "Grok Team",
"author_email": "grok-dev@zope.org",
"bugtrack_url": null,
"classifiers": [
"Environment :: Web Environment",
"Framework :: Zope3",
"Intended Audience :: Developers",
"License :: OSI Approved :: Zope Public License",
"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 :: Implementation",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy"
],
"description": "This package provides support to write and register Zope Viewlets\ndirectly in Python (without ZCML). It's designed to be used with\n`grokcore.view`_ which let you write and register Zope Views.\n\n.. contents::\n\nSetting up ``grokcore.viewlet``\n===============================\n\nThis package is set up like the `grokcore.component`_\npackage. Please refer to its documentation for more details. The\nadditional ZCML lines you will need are::\n\n
Data from %s
' self.context.id\n\nOr::\n\n class SecretData(viewlet.Viewlet):\n viewlet.view(Index)\n viewlet.viewletmanager(AdvancedContent)\n viewlet.require('agent.secret')\n\n secretdata = viewlet.PageTemplate(\"\"\"\nNothing to see here.
\n \"\"\")\n\nThe way templates are binded to components works exactly the way than\nin `grokcore.view`_, for more information refer to its\ndocumentation.\n\nAPI Overview\n============\n\nBase classes\n------------\n\n``ViewletManager``\n Define a new viewlet manager. You can either provide a render\n method, a template, which can or not use registered viewlets.\n\n If you define a template, ``view`` is added as a reference to the\n current view for which the manager is rendering in the template's\n namespace. It is available as well as an attribute on the manager\n object.\n\n``Viewlet``\n Define a new viewlet. You can either provide a template or a render\n method on it. Like in views, you can define an update method to\n process needed data.\n\n Like for manager, ``view`` is added to the template namespace if\n used. ``viewletmanager`` is defined as well as a reference to the\n manager in the template's namespace and as an attribute on the\n viewlet object.\n\nDirectives\n----------\n\nYou can use directives from `grokcore.view`_ to register your\nviewlet or viewlet manager: ``name``, ``context``, ``layer`` and\n``require`` (for security on a viewlet).\n\nTo that is added:\n\n``view``\n Select for which view is registered a viewlet or a viewlet manager.\n\n``viewletmanager``\n Select for which viewlet manager is registered a viewlet.\n\n``order``\n Define a rendering order for viewlets in a viewlet manager. This\n should be a number, the smaller order render first, bigger last.\n\n\nAdditionally, the ``grokcore.viewlet`` package exposes the\n`grokcore.component`_, `grokcore.security`_ and `grokcore.view`_ APIs.\n\n.. _grokcore.component: http://pypi.python.org/pypi/grokcore.component\n.. _grokcore.viewlet: http://pypi.python.org/pypi/grokcore.viewlet\n.. _grokcore.security: http://pypi.python.org/pypi/grokcore.security\n.. _grokcore.view: http://pypi.python.org/pypi/grokcore.view\n\nChanges\n=======\n\n3.1.0 (2018-02-05)\n------------------\n\n- viewletmanager.viewlets should be a list so we can iterate over it several\n times in consumer code instead of having to remember it's an iterable we can\n only list once.\n\n3.0.1 (2018-01-12)\n------------------\n\n- Rearrange tests such that Travis CI can pick up all functional tests too.\n\n3.0.0 (2018-01-04)\n------------------\n\n- Python 3 compatibility.\n\n1.11 (2012-09-04)\n-----------------\n\n- Make the ``has_render()`` and ``has_no_render()`` symmetrical to those\n in grokcore.view, grokcore.layout and grokcore.formlib, where a\n ``render.base_method`` attribute is checked.\n\n1.10.1 (2012-05-02)\n-------------------\n\n- Do not require the role extra from grokcore.security.\n\n1.10 (2012-05-02)\n-----------------\n\n- Use the component registration api from grokcore.component.\n\n- Update how the static resources are found on a ``ViewletManager``\n and a ``Viewlet``, following the new name ``__static_name__`` set by\n the template association.\n\n1.9 (2011-06-28)\n----------------\n\n- Introduce the `available()` method on viewlet component. The viewlet\n manager will filter out unavailable viewlet by calling this method. The\n `available()` method is called *after* the viewlet's `update()` is called,\n but *before* the `render()` is called.\n\n1.8 (2010-12-16)\n----------------\n\n- Update to use TemplateGrokker from grokcore.view to associate\n viewlet and viewletmanager templates.\n\n1.7 (2010-11-03)\n----------------\n\n- The computed default value for the viewletmanager directive is now defined\n in the directiv itself, not as a separate function that needs to be passed\n along.\n\n1.6 (2010-11-01)\n----------------\n\n* Upped version requirements for martian, grokcore.component, and grokcore.view.\n\n* Move the order directive to grokcore.component.\n\n* Move the view directive to grokcore.view.\n\n1.5 (2010-10-18)\n----------------\n\n* Make package comply to zope.org repository policy.\n\n* Update functional tests to use Browser implementation of zope.app.wsgi\n instead of zope.app.testing.\n\n* Reduce dependencies (zope.app.pagetemplate no longer necessary).\n\n1.4.1 (2010-02-28)\n------------------\n\n* Dropped the dependency on ``zope.app.zcmlfiles``.\n\n* Cleaned the code to remove unused imports and ensure the pep8 syntax.\n\n* Updated tests to have a return value consistency. The\n grokcore.viewlet viewlet manager implementation requires viewlets to\n return unicode strings. Now, viewlets return unicode strings in the\n test packages.\n\n1.4 (2010-02-19)\n----------------\n\n* Define test requires.\n\n1.3 (2009-09-17)\n----------------\n\n* Reverted the use of grokcore.view.CodeView. We now require\n ``grokcore.view`` 1.12.1 or newer. As of ``grokcore.view`` 1.12, the\n CodeView/View separation has been undone.\n\n1.2 (2009-09-16)\n----------------\n\n* Remove the reference to the grok.View permission that is no longer in\n grokcore.security 1.2\n\n* Use the grok.zope.org/releaseinfo information instead of our own\n copy of ``versions.cfg``, for easier maintenance.\n\n\n1.1 (2009-07-20)\n----------------\n\n* Adapted tests to new grokcore.view release: switched from View to CodeView.\n\n* Add grok.View permissions to functional tests (requires grokcore.security\n 1.1)\n\n1.0 (2008-11-15)\n----------------\n\n* Created ``grokcore.viewlet`` in November 2008 by factoring\n ``zope.viewlet``-based components, grokkers and directives out of\n Grok.\n", "description_content_type": null, "docs_url": null, "download_url": "http://cheeseshop.python.org/pypi/grokcore.viewlet", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://grok.zope.org", "keywords": "", "license": "ZPL", "maintainer": "", "maintainer_email": "", "name": "grokcore.viewlet", "package_url": "https://pypi.org/project/grokcore.viewlet/", "platform": "", "project_url": "https://pypi.org/project/grokcore.viewlet/", "project_urls": { "Download": "http://cheeseshop.python.org/pypi/grokcore.viewlet", "Homepage": "http://grok.zope.org" }, "release_url": "https://pypi.org/project/grokcore.viewlet/3.1.0/", "requires_dist": null, "requires_python": "", "summary": "Grok-like configuration for zope viewlets", "version": "3.1.0" }, "last_serial": 3552628, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "398cb79838ce79d14f8534cb8c6f211c", "sha256": "bc944e10263e02a530191287bfc65d42f502a3176b7e4c45ac8085401121be3e" }, "downloads": -1, "filename": "grokcore.viewlet-1.0.tar.gz", "has_sig": false, "md5_digest": "398cb79838ce79d14f8534cb8c6f211c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22049, "upload_time": "2008-11-15T13:11:26", "url": "https://files.pythonhosted.org/packages/e0/f2/23cd9ffaa72040a38b815dafddf9702cb2d9c0f76f45834780cb17f02ebc/grokcore.viewlet-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "e6bbe2f839b7c8fae876002db824815b", "sha256": "042e6e77c0ed3c31eafe756cb1775da2226fbcd487a126c5625ed21f9fc5ed5f" }, "downloads": -1, "filename": "grokcore.viewlet-1.1.tar.gz", "has_sig": false, "md5_digest": "e6bbe2f839b7c8fae876002db824815b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22219, "upload_time": "2009-07-20T23:21:14", "url": "https://files.pythonhosted.org/packages/17/2d/a92b8be7fc43394b5353dda7cc64a444e239b7cda17bdd80a3248e013abf/grokcore.viewlet-1.1.tar.gz" } ], "1.10": [ { "comment_text": "", "digests": { "md5": "972a018504bcc2902ddf2b0e2e78f216", "sha256": "d62785d191990a696a977c2c909dafdf6ccfb845308aaedd93ff1d3eec4f4b8a" }, "downloads": -1, "filename": "grokcore.viewlet-1.10.tar.gz", "has_sig": false, "md5_digest": "972a018504bcc2902ddf2b0e2e78f216", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23783, "upload_time": "2012-05-02T10:28:32", "url": "https://files.pythonhosted.org/packages/96/12/b6ef190172b9120390c6215ba3ae8051d007ad3b047df8da6f85f2ffa071/grokcore.viewlet-1.10.tar.gz" } ], "1.10.1": [ { "comment_text": "", "digests": { "md5": "05093798285bb37172d168ad66e41b34", "sha256": "f8d3f2a9c2cb6a2de8e3748e8b24c04b3fc3ee2576c09d6974c7620138a113aa" }, "downloads": -1, "filename": "grokcore.viewlet-1.10.1.tar.gz", "has_sig": false, "md5_digest": "05093798285bb37172d168ad66e41b34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23859, "upload_time": "2012-05-02T11:47:29", "url": "https://files.pythonhosted.org/packages/31/b2/2ef183fb307d979d520cd0c0864e1a2cb80250d45138e2df92a8fdb3a451/grokcore.viewlet-1.10.1.tar.gz" } ], "1.11": [ { "comment_text": "", "digests": { "md5": "73917d495fb41ccf9162a26f04278051", "sha256": "1aa6427f997528ecec54aa959ea43b3ee5f8d329f108734bd4f879a1d3a335e1" }, "downloads": -1, "filename": "grokcore.viewlet-1.11.zip", "has_sig": false, "md5_digest": "73917d495fb41ccf9162a26f04278051", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49071, "upload_time": "2012-09-04T11:35:38", "url": "https://files.pythonhosted.org/packages/15/d4/42db16edc3701bc90b536d1f2e681b14dd0f87be6659b961673e721ef652/grokcore.viewlet-1.11.zip" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "7ffffb2e544acfc9268e5708fc6b0576", "sha256": "e8faa1c25812071d500e3936e73fe99b8789ce1c0e52a9923bd9b35a3d84b148" }, "downloads": -1, "filename": "grokcore.viewlet-1.2.tar.gz", "has_sig": false, "md5_digest": "7ffffb2e544acfc9268e5708fc6b0576", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22498, "upload_time": "2009-09-16T12:20:35", "url": "https://files.pythonhosted.org/packages/91/fa/2966c0203fca652ab482851b2e396c12c4d634a189b6c8f4726d32b1346d/grokcore.viewlet-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "5e53b3c77941f9ad0ff2aeb7c1b6dd7d", "sha256": "cb9e84ba5a49db8fc62eef7935e121f1b227b10bdd2084f80dfe843b51ef8cbd" }, "downloads": -1, "filename": "grokcore.viewlet-1.3.tar.gz", "has_sig": false, "md5_digest": "5e53b3c77941f9ad0ff2aeb7c1b6dd7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21424, "upload_time": "2009-09-17T10:41:44", "url": "https://files.pythonhosted.org/packages/ce/fa/b92418971543b00ae38a5b4d4abe502645afec4cde6ebe34472fcd06608d/grokcore.viewlet-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "6aadb6c267e00d8fd5bf612a4dc68d8b", "sha256": "848f76ccc74ad811898de9fcfc85e3e79777ef1a8791a401f4920cdd5061d6a6" }, "downloads": -1, "filename": "grokcore.viewlet-1.4.tar.gz", "has_sig": false, "md5_digest": "6aadb6c267e00d8fd5bf612a4dc68d8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22379, "upload_time": "2010-02-19T13:08:19", "url": "https://files.pythonhosted.org/packages/31/35/7515cb929fd8bd55822e4db4db58b5433b8d563c12095af617332cca8062/grokcore.viewlet-1.4.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "2f588794d793a92cc079b55f63fde846", "sha256": "7bf2711863c20e6dc0ff5784d17f7a137efb34457df7e2e155f15d3297350929" }, "downloads": -1, "filename": "grokcore.viewlet-1.4.1.tar.gz", "has_sig": false, "md5_digest": "2f588794d793a92cc079b55f63fde846", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21077, "upload_time": "2010-02-28T21:16:24", "url": "https://files.pythonhosted.org/packages/a3/82/6b5bc1e4c218f31f2ab21904dae1500dcb7fc78411478019c46c147c49d1/grokcore.viewlet-1.4.1.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "e001cfa0cf372c782de6143cb49c89a6", "sha256": "be6849d0c5a89ca5942cc31b1e0457b5b9ca5396edbdc68a801a9ee4dc420977" }, "downloads": -1, "filename": "grokcore.viewlet-1.5.tar.gz", "has_sig": false, "md5_digest": "e001cfa0cf372c782de6143cb49c89a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23293, "upload_time": "2010-10-18T13:43:21", "url": "https://files.pythonhosted.org/packages/49/10/8d1a98e8cee4735fa6f37fb42c1d16827f5f6b40939113b7d3c5c4532bd7/grokcore.viewlet-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "f6d681c9106c6460c96d91acd7041df4", "sha256": "dbc54fadc18f67b417bfba22c724f96a2fbcaece6d4c6e9c30d6b3834244553d" }, "downloads": -1, "filename": "grokcore.viewlet-1.6.tar.gz", "has_sig": false, "md5_digest": "f6d681c9106c6460c96d91acd7041df4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22550, "upload_time": "2010-11-01T21:03:59", "url": "https://files.pythonhosted.org/packages/53/c6/2557d2a19d2baec3b71cba4fb497ad77ebf80931072e810e9828167a752b/grokcore.viewlet-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "746ff74b99a2f523ed87b031a610198d", "sha256": "ce0873704de6aa6c69ccfda05e1f350921bb35aa07d38066880ba7f45953a72b" }, "downloads": -1, "filename": "grokcore.viewlet-1.7.tar.gz", "has_sig": false, "md5_digest": "746ff74b99a2f523ed87b031a610198d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22726, "upload_time": "2010-11-03T17:02:34", "url": "https://files.pythonhosted.org/packages/5e/2a/4607cdec051579435d2d5ad38efdc6ab72d3366f6467a26a8d4f9b905f9d/grokcore.viewlet-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "0c3051314c9c4f174e03d0a00d6a89d4", "sha256": "65af9fed700d85df0faeb90d8810a790e74b922ebaf609a3af4a4f23880055df" }, "downloads": -1, "filename": "grokcore.viewlet-1.8.tar.gz", "has_sig": false, "md5_digest": "0c3051314c9c4f174e03d0a00d6a89d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22743, "upload_time": "2010-12-16T10:50:02", "url": "https://files.pythonhosted.org/packages/07/e9/4eb066eab30741c4343a0168d6339424105177c82ea8eec954a48aa65fbb/grokcore.viewlet-1.8.tar.gz" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "b1798f8d303e7cb2d26a9ed798bcc649", "sha256": "ea3b950e587329c011d01fcfce03eef0a97f2468e4a22ef0a64462360d424af0" }, "downloads": -1, "filename": "grokcore.viewlet-1.9.tar.gz", "has_sig": false, "md5_digest": "b1798f8d303e7cb2d26a9ed798bcc649", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23952, "upload_time": "2011-06-28T09:21:23", "url": "https://files.pythonhosted.org/packages/05/93/eb6126871290e009e4d72a7df3b691b8c37e86f6efee0a91dcf8ff8a7b73/grokcore.viewlet-1.9.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "e75348ea7b94d85ee21048001abd6383", "sha256": "ddf5c2b0a488c4a7b8c52fd792169ba8a988bb5dc33e4d77b0c1caa67047444b" }, "downloads": -1, "filename": "grokcore.viewlet-3.0.0.tar.gz", "has_sig": false, "md5_digest": "e75348ea7b94d85ee21048001abd6383", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24435, "upload_time": "2018-01-04T15:12:00", "url": "https://files.pythonhosted.org/packages/00/f5/a762269d4e0defeb8b153fe33e524f040c93b39c6c8b6f5789f99a2bae04/grokcore.viewlet-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "64246340d96acd5e0c104145ecfcece4", "sha256": "3c1d93a1f66e6d261688f4e30c7b1e429181843dc4e36c3436b09662f01c5528" }, "downloads": -1, "filename": "grokcore.viewlet-3.0.1.tar.gz", "has_sig": false, "md5_digest": "64246340d96acd5e0c104145ecfcece4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24571, "upload_time": "2018-01-12T13:35:28", "url": "https://files.pythonhosted.org/packages/0f/8d/153e82f523acbfbdf7a814b7405c9003f560cbbe0b84a0f2209981791aa2/grokcore.viewlet-3.0.1.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "adbb7eb9b87a614c290f1c7921680eb0", "sha256": "047537e5f283fb66a0bb718585e828b198e3096159a18f5782642f143997d14a" }, "downloads": -1, "filename": "grokcore.viewlet-3.1.0.tar.gz", "has_sig": false, "md5_digest": "adbb7eb9b87a614c290f1c7921680eb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24771, "upload_time": "2018-02-05T09:41:39", "url": "https://files.pythonhosted.org/packages/1e/27/6ed47bdce7d0301c7aac784176535e4770adc107c5c29896779690ecda95/grokcore.viewlet-3.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "adbb7eb9b87a614c290f1c7921680eb0", "sha256": "047537e5f283fb66a0bb718585e828b198e3096159a18f5782642f143997d14a" }, "downloads": -1, "filename": "grokcore.viewlet-3.1.0.tar.gz", "has_sig": false, "md5_digest": "adbb7eb9b87a614c290f1c7921680eb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24771, "upload_time": "2018-02-05T09:41:39", "url": "https://files.pythonhosted.org/packages/1e/27/6ed47bdce7d0301c7aac784176535e4770adc107c5c29896779690ecda95/grokcore.viewlet-3.1.0.tar.gz" } ] }