{ "info": { "author": "Souheil Chelfouh", "author_email": "trollfot@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Zope3", "Intended Audience :: Other Audience", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "===========\ndolmen.menu\n===========\n\n``dolmen.menu`` aims to provide the most flexible and explicit way to\ncreate and manage menus and their entries with Grok.\n\nYou have to know that...\n========================\n\n* ``dolmen.menu`` only works on Python 2.6.\n\n* ``dolmen.menu`` does not support sub-menus, out of the box. The\n implementation is left to your discretion.\n\n\nComponents\n==========\n\n``dolmen.menu`` provides two components:\n\n* Menu : the menu implementation is based on the zope \"content\n provider\" notion and is using the ``grokcore.viewlet`` package.\n\n* Entry: a menu item is called an entry. It's a multi adapter that is\n registered for a Menu component.\n\n\nExamples\n--------\n\nA menu component::\n\n >>> from dolmen import menu\n\n >>> class MyMenu(menu.Menu):\n ... menu.title('My nice menu')\n\nA menu entry::\n\n >>> class MyMenuEntry(menu.Entry):\n ... menu.order(1)\n ... menu.name('a_direct_entry')\n ... menu.title('My Entry')\n ... menu.menu(MyMenu)\n\n\nRegistration\n============\n\nIn order to use base Grok component as menu entries, we get two\nregistration ways.\n\nclass decorator\n---------------\n\nA class decorator allows you to decorate any class, in order to\nregister it as a menu entry::\n\n >>> import grokcore.view\n\n >>> @menu.menuentry(MyMenu)\n ... class TestEntry(grokcore.view.View):\n ... def render(self):\n ... return u\"A simple entry\"\n\n\nModule level martian directive\n------------------------------\n\nA martian directive allows you register classes you can't decorate\n(from a foreign package, for instance), explicitly::\n\n >>> class SomeView(grokcore.view.View):\n ... def render(self):\n ... return u\"I'm a view and I want to be a menu entry\"\n\n >>> menu.global_menuentry(SomeView, MyMenu, order=2)\n\n\nChanges\n=======\n\n0.5 (2011-01-31)\n----------------\n\n* ``dolmen.menu`` now works on the latest ``martian``. The treatment\n of the decorator has been deferred by the use of a module\n annotation. The registration is now done by a global grokker.\n\n\n0.4 (2010-12-24)\n----------------\n\n* It is now possible to define a menu context, that is different of\n the rendering context. This allow delegated rendering, such as Root\n menus or other object-specific menus.\n\n\n0.3 (2010-06-04)\n----------------\n\n* Corrected a bug where 'zope.Public' was evaluated as a \"normal\"\n permission. Now, the manager converts the permission into a\n CheckerPublic marker.\n\n* the ``filter`` method is now a generator.\n\n\n0.2 (2010-03-05)\n----------------\n\n* Changed the way to fetch the menu CSS id.\n\n\n0.1 (2010-03-03)\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": "UNKNOWN", "keywords": "Grok Zope3 CMS Dolmen", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "dolmen.menu", "package_url": "https://pypi.org/project/dolmen.menu/", "platform": "Any", "project_url": "https://pypi.org/project/dolmen.menu/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/dolmen.menu/0.5/", "requires_dist": null, "requires_python": null, "summary": "Dolmen menus composer", "version": "0.5" }, "last_serial": 791336, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "158e76760a23badb37c595e536468d99", "sha256": "139d5f0de7440893781570ca6e3a04bf753b7620751685d00fa1be88c43818d3" }, "downloads": -1, "filename": "dolmen.menu-0.1.tar.gz", "has_sig": false, "md5_digest": "158e76760a23badb37c595e536468d99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9654, "upload_time": "2010-03-03T22:20:21", "url": "https://files.pythonhosted.org/packages/58/2f/72b7e84eb98b19ea34ee0812ce3d0133d3eb26f793aba201b12f2c516bac/dolmen.menu-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "7ea8e431de325336c36c634e537db711", "sha256": "d87faca7bcae26ba3cdf4759ef31a4396666151f2893f2fe4ea432309bdb989a" }, "downloads": -1, "filename": "dolmen.menu-0.2.tar.gz", "has_sig": false, "md5_digest": "7ea8e431de325336c36c634e537db711", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9747, "upload_time": "2010-03-05T15:23:06", "url": "https://files.pythonhosted.org/packages/e2/6f/bf6b4c0613630614bd9183f7e09613953162d8808e495cb6fa2d296e44cb/dolmen.menu-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "687e7008610acd4c6bc48d7c9a858ef6", "sha256": "3e2e8758f0cc384a5ac4cc19b043e67d71aed24881f56a516836f775689f75a3" }, "downloads": -1, "filename": "dolmen.menu-0.3.tar.gz", "has_sig": false, "md5_digest": "687e7008610acd4c6bc48d7c9a858ef6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9886, "upload_time": "2010-06-04T17:58:01", "url": "https://files.pythonhosted.org/packages/d6/d1/125dd30ceb025d6ee1385c944785c88363c0803760bb6dc8f4f773589fce/dolmen.menu-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "69062cd160a54da9cb15abfae0b5690a", "sha256": "bffcd99cc6afd2145d6d48bc4a1cc131ecfbd651248b35f807482255a29d1a70" }, "downloads": -1, "filename": "dolmen.menu-0.4.tar.gz", "has_sig": false, "md5_digest": "69062cd160a54da9cb15abfae0b5690a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10526, "upload_time": "2010-12-24T17:49:42", "url": "https://files.pythonhosted.org/packages/a5/eb/f93b1025987f916657e22a2b0383acc5f5d8774a4d09cd2efdd3df64102f/dolmen.menu-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "21768bc44a0175f2bd1bff3300415b72", "sha256": "1b7700492d46ccad200b1b3b4c713ed84bcc6ee0d8473e9ba788ae0f06494839" }, "downloads": -1, "filename": "dolmen.menu-0.5.tar.gz", "has_sig": false, "md5_digest": "21768bc44a0175f2bd1bff3300415b72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10842, "upload_time": "2011-01-31T17:26:13", "url": "https://files.pythonhosted.org/packages/97/8d/c1d460acae1fbd03b140b111d72ec9f8735ddee3ae3e728700c924243806/dolmen.menu-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "21768bc44a0175f2bd1bff3300415b72", "sha256": "1b7700492d46ccad200b1b3b4c713ed84bcc6ee0d8473e9ba788ae0f06494839" }, "downloads": -1, "filename": "dolmen.menu-0.5.tar.gz", "has_sig": false, "md5_digest": "21768bc44a0175f2bd1bff3300415b72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10842, "upload_time": "2011-01-31T17:26:13", "url": "https://files.pythonhosted.org/packages/97/8d/c1d460acae1fbd03b140b111d72ec9f8735ddee3ae3e728700c924243806/dolmen.menu-0.5.tar.gz" } ] }