{ "info": { "author": "Holger Frey", "author_email": "mail@holgerfrey.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Pyramid", "Intended Audience :: Developers", "License :: Other/Proprietary License", "Natural Language :: English", "Programming Language :: Python :: 3.6" ], "description": "=======================\nPyramid List Pagination\n=======================\n\nPyramid List Pagination contains pyramid resources and helpers for pagination\nof result lists.\n\nA lot of pyramid_ applications that use a (SQL) database need to list the result\nof queries. This result list might get quite long and are split into several\npages. This package is offering some help in this.\n\n\nQuickstart\n----------\n\nLets assume, that you'd like to start a cheese shop and define a simple\ndatabase model in the pyramid application::\n\n from .meta import Base\n\n class Cheese(Base):\n id = Column(Integer, primary_key=True)\n name = Column(Text, nullable=False)\n\nTo get a result list including pagination, just create a sub-class from\n:class:`pyramid_listing.SQLAlchemyListing` and define a ``get_base_query``\nmethod::\n\n from pyramid_listing import SQLAlchemyListing\n\n class CheeseList(SQLAlchemyListing):\n\n def get_base_query(self, request)\n return request.dbsession.query(Cheese)\n\nIn a view you could then use this class to autmagically get paged results::\n\n @view_config(route_name='cheeses')\n def cheese_list_view(request):\n listing = CheeseList(request)\n return {'cheeses': listing.items(), 'pagination': listing.pages}\n\nWith this URLs you could access different result pages:\n\n shows page 3:\n\n https://example.com/cheeses?p=3\n\n shows page 1 with 42 items per page:\n\n https://example.com/cheeses?p=1&n=42\n\n\nFeatures\n--------\n\n* automatically calculate pagination information like first, next or last page\n from `pyradmid.request.GET` parameters\n* loading configuration defaults from .ini files\n* easily implement ordering and filtering of results\n* helper method for creating `pyradmid.request.GET` parameters for different\n pages\n* base class for listings as location aware pyramid resources\n\n\nExample Project\n---------------\n\nTo see this in action install the sample project from\nhttps://github.com/holgi/pyramid_listing_example\nand take a look at it\n\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the\n`audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n.. _pyramid: https://trypyramid.com\n\n\n=======\nHistory\n=======\n\n0.1.8 (2018-03-18)\n------------------\n* changed SQLAlchemyListing.pages to a calculated property:\n\n Just creating a SQLAlchemyListing instance does not automatically trigger\n a database query.\u00a0It will only execute this first query if pagination\n information is accessed, e.g. in a ordered query.\n\n\n0.1.7 (2018-03-14)\n------------------\n* applied filters can now be accessed via ``SQLAlchemyListing.filters``\n\n\n0.1.6 (2018-03-13)\n------------------\n* updated documentation setup for readthedocs.org\n\n\n0.1.5 (2018-03-13)\n------------------\n* code adjustments after liniting\n\n\n0.1.4 (2018-03-13)\n------------------\n* fixed bug where settings as strings were not parsed correctly\n* changed default implementation of __getitem__() to use base_query\n* changed ordered_query from a calculated property to a real one\n\n\n0.1.3 (2018-03-12)\n------------------\n\n* The classes and the includeme() function are now exposed in the __init__.py\n file\n\n\n0.1.2 (2018-03-12)\n------------------\n\n* The pagination calculation class can now be configured in ``Listing`` and\n ``Resource`` classes. This enables the use of different pagination defaults\n in different lists.\n\n\n0.1.1 (2018-03-12)\n------------------\n\n* Untangled Pagination configuration from includeme() function. Pagination\n (sub-) classes can now be configured via the ``configure()`` method\n\n\n0.1.0 (2018-03-11)\n------------------\n\n* First Working Implementation\n\n\n0.0.1 (2018-03-08)\n------------------\n\n* Starting the project\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/holgi/pyramid_listing", "keywords": "pyramid list pagination resource", "license": "Beerware", "maintainer": "", "maintainer_email": "", "name": "pyramid_listing", "package_url": "https://pypi.org/project/pyramid_listing/", "platform": "", "project_url": "https://pypi.org/project/pyramid_listing/", "project_urls": { "Homepage": "https://github.com/holgi/pyramid_listing" }, "release_url": "https://pypi.org/project/pyramid_listing/0.1.8/", "requires_dist": null, "requires_python": "", "summary": "Pyramid Listing contains pyramid resources and helpers for pagination of result lists", "version": "0.1.8" }, "last_serial": 3680636, "releases": { "0.1.5": [ { "comment_text": "", "digests": { "md5": "c08a9835e25e2516345e0dd974f9f43e", "sha256": "7037bbd2518f975258dc97dc23739fa7848bc9a5d45f707d898276a85ddc413a" }, "downloads": -1, "filename": "pyramid_listing-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c08a9835e25e2516345e0dd974f9f43e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15863, "upload_time": "2018-03-13T15:37:20", "url": "https://files.pythonhosted.org/packages/fb/b8/723e5ea14df76cd08b107169b4d0901ee2db5fa90bd7ee5c6a90aff78ea7/pyramid_listing-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c42a850fd878be02570ad20169824af9", "sha256": "9c393cdfa41723f35edaa946984219cbd2cea1b8e018020b769deef825764b47" }, "downloads": -1, "filename": "pyramid_listing-0.1.5.tar.gz", "has_sig": false, "md5_digest": "c42a850fd878be02570ad20169824af9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34980, "upload_time": "2018-03-13T15:37:17", "url": "https://files.pythonhosted.org/packages/33/82/c49f8578ed4327ba70aba9ac392040ba235ed0ed9cbd1f0eecccccc6b288/pyramid_listing-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "a9b4433a75975c913bdf951bc3dfe664", "sha256": "8ac3623fd6f6af121094f536c117c28459956d0ba3d56bf9f64aa56bca43e5bb" }, "downloads": -1, "filename": "pyramid_listing-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a9b4433a75975c913bdf951bc3dfe664", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15857, "upload_time": "2018-03-13T16:30:46", "url": "https://files.pythonhosted.org/packages/c1/38/a9ccc05014449a3528f703480e3f988c8d4fcdea5354a48ee6fe6f45b29b/pyramid_listing-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "067e7c21177b87c32f09b4f356fd8c79", "sha256": "ac282cc0048498a9ca2db072ac6fc22611e57b378428f2231334afe2b84fa75b" }, "downloads": -1, "filename": "pyramid_listing-0.1.6.tar.gz", "has_sig": false, "md5_digest": "067e7c21177b87c32f09b4f356fd8c79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34967, "upload_time": "2018-03-13T16:30:44", "url": "https://files.pythonhosted.org/packages/dc/ed/72cbfe30613d9476dfe904545c5a816db6da282e987ce9b1e1adfeec014b/pyramid_listing-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "7f95cee066569d04348b0a822a6f52fe", "sha256": "1a714ef044877ef7ef2beb96a566758ff672241b0b6414a3b1eb582ff1d347a2" }, "downloads": -1, "filename": "pyramid_listing-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7f95cee066569d04348b0a822a6f52fe", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15988, "upload_time": "2018-03-14T08:55:12", "url": "https://files.pythonhosted.org/packages/a3/e4/6208db93011bfc09d89003df495f2e2d9474e8f34044a58d2fb47d8d7f9e/pyramid_listing-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "928526fdac845a7aff26c89b859d6088", "sha256": "665fdef663d427fa0d1e698d30e443c2cb4d90a363bfcc2bf15b382a2eb18ad4" }, "downloads": -1, "filename": "pyramid_listing-0.1.7.tar.gz", "has_sig": false, "md5_digest": "928526fdac845a7aff26c89b859d6088", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35112, "upload_time": "2018-03-14T08:55:09", "url": "https://files.pythonhosted.org/packages/ce/27/b385ad477a4033c28fb91804cfee8d574a6c5be9035285b13d8de6d4accf/pyramid_listing-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "69b74e7309d24c97d3f7fde6faf0ba67", "sha256": "5164e044f24e394936ab9b3585be90708c670956203245a4322493deaea0bacb" }, "downloads": -1, "filename": "pyramid_listing-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "69b74e7309d24c97d3f7fde6faf0ba67", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16243, "upload_time": "2018-03-18T10:39:59", "url": "https://files.pythonhosted.org/packages/e8/50/3008abc890db822e19f8bf06f0c5461e88264bd1d57a61f809065f0bec0e/pyramid_listing-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "837e8fa3559fa83668a35dac69261e14", "sha256": "bc5576eaae2aa48184c2f85a020b78a75aeaa91787a0bd8cde7e9a637687a5dd" }, "downloads": -1, "filename": "pyramid_listing-0.1.8.tar.gz", "has_sig": false, "md5_digest": "837e8fa3559fa83668a35dac69261e14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35353, "upload_time": "2018-03-18T10:39:56", "url": "https://files.pythonhosted.org/packages/a7/41/49cf41ac4cba7c78028385fa032b385eba6356149df9758a3bb727c61eb0/pyramid_listing-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "69b74e7309d24c97d3f7fde6faf0ba67", "sha256": "5164e044f24e394936ab9b3585be90708c670956203245a4322493deaea0bacb" }, "downloads": -1, "filename": "pyramid_listing-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "69b74e7309d24c97d3f7fde6faf0ba67", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16243, "upload_time": "2018-03-18T10:39:59", "url": "https://files.pythonhosted.org/packages/e8/50/3008abc890db822e19f8bf06f0c5461e88264bd1d57a61f809065f0bec0e/pyramid_listing-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "837e8fa3559fa83668a35dac69261e14", "sha256": "bc5576eaae2aa48184c2f85a020b78a75aeaa91787a0bd8cde7e9a637687a5dd" }, "downloads": -1, "filename": "pyramid_listing-0.1.8.tar.gz", "has_sig": false, "md5_digest": "837e8fa3559fa83668a35dac69261e14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35353, "upload_time": "2018-03-18T10:39:56", "url": "https://files.pythonhosted.org/packages/a7/41/49cf41ac4cba7c78028385fa032b385eba6356149df9758a3bb727c61eb0/pyramid_listing-0.1.8.tar.gz" } ] }