{ "info": { "author": "Souheil Chelfouh", "author_email": "trollfot@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Zope3", "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Zope", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "===============\nmegrok.z3ctable\n===============\n\nThe `megrok.z3ctable` package is a wrapper around the z3c.table\ncomponents. z3c.table allows you to define HTML tables as zope3\ncomponents, defining columns as multi adapters.\n\nThanks to megrok.z3ctable, these components are now fully available\nin Grok, making them easy to declare and configure. The following\ncomponents are available :\n\n - Table\n - Column\n - Value\n\nBeyond a simple wrapping, megrok.z3cform brings you new convenient\nways to create pages displaying a table:\n\n - TableView: a simple browser view displaying a table.\n - TablePage: a table browser view included in a layout\n (see megrok.layout)\n\nFor more information and more detailed examples please look in the\ntests directory of this package.\n\n\nGetting started\n---------------\n\nFirst, we grok the package grokkers::\n\n >>> import grokcore.component as grok\n >>> from grokcore.component import testing\n >>> from grokcore.component.testing import grok_component\n >>> testing.grok('megrok.z3ctable')\n \n\nTest Setup\n----------\n\nLet's create simple items to demonstrate the package. Here, the\ntable will be the representation of a folder listing, displaying (in an\nordered way), the content of a simple container::\n\n >>> from megrok.z3ctable.tests import Container, Content\n >>> from zope.container import btree\n >>> from zope.publisher.browser import TestRequest\n >>> request = TestRequest()\n\nLet's create 2 dummy content::\n\n >>> christian = Content('Christian', 29)\n >>> trollfot = Content('Trollfot', 27) \n\nThen, we instanciate a container and store the 2 dummies inside::\n\n >>> container = Container()\n >>> container['christian'] = christian\n >>> container['trollfot'] = trollfot\n\n \nA simple Table\n--------------\n\nWe define a simple table. Here, the component only registers itself,\nthere's no logic defined inside::\n\n >>> from megrok.z3ctable import Table, Values \n >>> from megrok.z3ctable import ITable\n\n >>> class SimpleTable(Table):\n ... \"\"\" My Simple Table \"\"\"\n\n >>> ITable.implementedBy(Table)\n True\n\nLet's make an instance of the Table::\n\n >>> myTable = SimpleTable(container, request)\n >>> ITable.providedBy(myTable)\n True\n\nNow, we need to feed our table with contents. In order to provide a\npluggable way to fetch the content, z3c.table proposes an adapter\ncalled \"Values\". It is in charge of getting in the data to display::\n\n >>> class MyValues(Values):\n ... grok.adapts(btree.BTreeContainer, None, SimpleTable)\n ...\n ... @property\n ... def values(self):\n ... return self.context.values()\n\nWe grok the MyValues Adapter::\n\n >>> grok_component('MyValues', MyValues)\n True\n\n >>> myTable.update()\n >>> myTable.render()\n u''\n\nThere is currently no output this is because the table itself contains\nno logic. The data is displayed by components called \"Column\". A\nColumn is a multi adapter, adapting the context, the request and the\ntable. It permits a very flexible handling of the tables and the data\nrepresentations. Let's define a simple Column::\n\n >>> from zope.interface import Interface\n >>> from megrok.z3ctable import NameColumn\n >>> from megrok.z3ctable import table\n >>> class Names(NameColumn):\n ... grok.context(Interface)\n ... table(SimpleTable)\n\nNow we grok our Column::\n\n >>> grok_component('Names', Names)\n True\n\nand render the Table again::\n\n >>> myTable.update()\n >>> print myTable.render()\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Name
christian
trollfot
\n\nHere you go. A fully functional and pluggable table. Enjoy.\n\n\nChangelog\n=========\n\n1.6.0 (2013-10-08)\n------------------\n\n* Using now `grokcore.layout` instead of `megrok.layout`\n\n\n1.5.0 (2011-01-31)\n------------------\n\n* Adapted the grokkers for the latest versions of ``martian`` and\n ``grokcore.component``.\n\n\n1.4.2 (2010-05-07)\n------------------\n\n* Migration from Dolmen's GIT to Zope's Subversion repository. MANIFEST has\n been removed while a license file has been added. `megrok.z3ctable` is under\n the ZPL license.\n\n\n1.4.1 (2010-02-21)\n------------------\n\n* Cleaned out all the zope.app dependencies. Removed unused imports\n and re-structured the tests module. We are now using minimal\n dependencies.\n\n* ``megrok.z3ctable`` now requires ``zope.component >= 3.9.1``. This\n means you have to use the latest ZTK KGS in your buildout. This KGS\n can be included via the groktoolkit.\n\n\n1.4.0 (2010-01-16)\n------------------\n\n* Now using ztk versions and fixed it for z3c.table >= 0.8\n\n\n1.3.0 (2009-09-24)\n------------------\n\n* Now Columns have their own grokker. Before that, they were treated\n as basic multi adapters. We now use a dedicated grokking component\n with explicit directives that can be auto-linked to context and\n table components. Read the test \"test_implicit\" in the ftests for\n more details. [trollfot]\n\n\n1.2.1 (2009-09-18)\n------------------\n\n* Add a new test for a template in a form [cklinger]\n\n\n1.2.0 (2009-09-17)\n------------------\n\n* Let megrok.z3ctable work with grokcore.view 1.12.2 [cklinger]\n\n\n1.1.0 (2009-09-19)\n------------------\n\n* Adapted megrok.z3ctable to the new version of megrok.layout and\n grokcore.view [cklinger]", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/megrok.z3ctable", "keywords": "grok table zope3", "license": "ZPL", "maintainer": null, "maintainer_email": null, "name": "megrok.z3ctable", "package_url": "https://pypi.org/project/megrok.z3ctable/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/megrok.z3ctable/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/megrok.z3ctable" }, "release_url": "https://pypi.org/project/megrok.z3ctable/1.6.0/", "requires_dist": null, "requires_python": null, "summary": "A table component package for Grok based on z3c.table.", "version": "1.6.0" }, "last_serial": 914534, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "203bba5054df83db02b3c025b01e6915", "sha256": "4d00e0e0e0aff3db81433e7996f94d847c2d582b0a29b9da65514e6011a9eb8c" }, "downloads": -1, "filename": "megrok.z3ctable-1.0.tar.gz", "has_sig": false, "md5_digest": "203bba5054df83db02b3c025b01e6915", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6209, "upload_time": "2009-07-23T15:47:28", "url": "https://files.pythonhosted.org/packages/8a/e1/ce605eedf3da25a141e44337b8473e3dd1abb96b178d12b584a4bc18ee23/megrok.z3ctable-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "368273ce6397e2b630f027708437fa6f", "sha256": "37e6d90f8c776e741d508d33c42deee6a317d58b621e77207c0becbe238f5794" }, "downloads": -1, "filename": "megrok.z3ctable-1.0.1.tar.gz", "has_sig": false, "md5_digest": "368273ce6397e2b630f027708437fa6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7166, "upload_time": "2009-07-24T10:06:42", "url": "https://files.pythonhosted.org/packages/bf/71/a7586283fa54ce7610d08637c1ce710cc96ce8ff0bd57f724f6be9724c8e/megrok.z3ctable-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "c7a69449a857228fa580cc881cff75a0", "sha256": "2871af34dbea0195aa40d08d291026f711ed7c2dd89da327c99b48c016b69881" }, "downloads": -1, "filename": "megrok.z3ctable-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c7a69449a857228fa580cc881cff75a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8846, "upload_time": "2009-09-15T16:36:49", "url": "https://files.pythonhosted.org/packages/11/f6/8b093b8e283f6bb48f0c7c1a3d62fa8498efc2a1279ccc4e9ce966566761/megrok.z3ctable-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "5e90770341b6c0e091c96fc245f55718", "sha256": "75e02c75d57990808c9e706bd3c2302269bf6917c86621abf8ad67a752e6a35c" }, "downloads": -1, "filename": "megrok.z3ctable-1.1.1.tar.gz", "has_sig": false, "md5_digest": "5e90770341b6c0e091c96fc245f55718", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8848, "upload_time": "2009-09-15T16:52:27", "url": "https://files.pythonhosted.org/packages/b0/eb/2ff01b2fd37ebde13e5478a08260e3523eea361b6ae93399c58f24671882/megrok.z3ctable-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "ef1928cf57d4e8c4d9ecbeb8f37f03e4", "sha256": "b38e2adc28f48cd4d24a0bf7f6bd55e59861c7105059f7f296bc0fdf0e1883c7" }, "downloads": -1, "filename": "megrok.z3ctable-1.2.0.tar.gz", "has_sig": false, "md5_digest": "ef1928cf57d4e8c4d9ecbeb8f37f03e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8904, "upload_time": "2009-09-17T17:41:43", "url": "https://files.pythonhosted.org/packages/8e/f6/fb30d5359c14ade675ea187097cfab715fa30cf99222c149230ef48639d8/megrok.z3ctable-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "28e95508fd2d898fefc3c5e46eed1583", "sha256": "fe01395d7c40f5ea3bbc52c8ea28cd8d60a2247b3a72ccd22102e64d0e20e861" }, "downloads": -1, "filename": "megrok.z3ctable-1.2.1.tar.gz", "has_sig": false, "md5_digest": "28e95508fd2d898fefc3c5e46eed1583", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9345, "upload_time": "2009-09-18T10:35:01", "url": "https://files.pythonhosted.org/packages/80/37/61d95d6695c3f3e0976d74812dfd54fc4e98c0218747627c8bf22bff4d38/megrok.z3ctable-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "0d78fe2df4fd3518bcde7f0572efb56f", "sha256": "7ea8725b29949fa6c7f4c3f0a4b2a131185cbc539b18163c5f67fbfa3fd98097" }, "downloads": -1, "filename": "megrok.z3ctable-1.3.0.tar.gz", "has_sig": false, "md5_digest": "0d78fe2df4fd3518bcde7f0572efb56f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10667, "upload_time": "2009-09-29T15:06:14", "url": "https://files.pythonhosted.org/packages/82/65/9856f0ef972913eda423fcda115a0d8131d0c57f93ab93ecabcbb1b7d775/megrok.z3ctable-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "b9edd166108145ffdd26e68cc5c4af9f", "sha256": "2d2d0a9a1ee83144cfff6f0cd457e773a43a8d633ccff6f32043cb407f99d43e" }, "downloads": -1, "filename": "megrok.z3ctable-1.4.0.tar.gz", "has_sig": false, "md5_digest": "b9edd166108145ffdd26e68cc5c4af9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10882, "upload_time": "2010-01-17T00:19:29", "url": "https://files.pythonhosted.org/packages/ba/99/cf63273a69110ec70b90cacaa72031199042f59ad0df3954b10067890e46/megrok.z3ctable-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "3ec9fe98e3a88bd7c83c2448e4877bea", "sha256": "c1bd7999a2720b6e5ac0b0f7d798428759ee82ca0f962f121d893140027a7a30" }, "downloads": -1, "filename": "megrok.z3ctable-1.4.1.tar.gz", "has_sig": false, "md5_digest": "3ec9fe98e3a88bd7c83c2448e4877bea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11221, "upload_time": "2010-02-21T16:35:24", "url": "https://files.pythonhosted.org/packages/df/a6/bd44829017cc0e46edac3cad6d220acaadef8b68fcb3a272cf5c5ead9f0b/megrok.z3ctable-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "80940b475a326679a70951641f0e591d", "sha256": "72e071f26c819fabf1063d2e29b5c1de7c1a91b9b95ba755a6204e729db6ca4a" }, "downloads": -1, "filename": "megrok.z3ctable-1.4.2.tar.gz", "has_sig": false, "md5_digest": "80940b475a326679a70951641f0e591d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12302, "upload_time": "2010-05-07T12:09:04", "url": "https://files.pythonhosted.org/packages/d7/1b/f8af62968a4d1387fad9da924ba2f21caef9cce1756d4ea975af368bfa0d/megrok.z3ctable-1.4.2.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "a6983ca51f0c46be77cafe4a321d3c3e", "sha256": "adc6d76d6be7277613bc915d244a5ccc61e259ef4cae78d474bb34e65c1a61bc" }, "downloads": -1, "filename": "megrok.z3ctable-1.5.0.tar.gz", "has_sig": false, "md5_digest": "a6983ca51f0c46be77cafe4a321d3c3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12508, "upload_time": "2011-01-31T17:11:01", "url": "https://files.pythonhosted.org/packages/f1/f6/fcfef17683e599fbd262a1ea71ea2f7ca59d459c78253c086806240fe779/megrok.z3ctable-1.5.0.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "b131409ccba56c444dc61ec183d644e9", "sha256": "0a408cf4a4201187a20f71de119a8a8e8f876d6d7a3863dd80e4fe63a3fbfca4" }, "downloads": -1, "filename": "megrok.z3ctable-1.6.0.tar.gz", "has_sig": false, "md5_digest": "b131409ccba56c444dc61ec183d644e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15523, "upload_time": "2013-11-08T14:08:10", "url": "https://files.pythonhosted.org/packages/39/89/07f468dc83ab08a08c2b3e99f726b7fa209f7beced6e8417257f59b2b9c4/megrok.z3ctable-1.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b131409ccba56c444dc61ec183d644e9", "sha256": "0a408cf4a4201187a20f71de119a8a8e8f876d6d7a3863dd80e4fe63a3fbfca4" }, "downloads": -1, "filename": "megrok.z3ctable-1.6.0.tar.gz", "has_sig": false, "md5_digest": "b131409ccba56c444dc61ec183d644e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15523, "upload_time": "2013-11-08T14:08:10", "url": "https://files.pythonhosted.org/packages/39/89/07f468dc83ab08a08c2b3e99f726b7fa209f7beced6e8417257f59b2b9c4/megrok.z3ctable-1.6.0.tar.gz" } ] }