{ "info": { "author": "Sujeet Kumar", "author_email": "sujeetkv90@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Page Counters", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "# py-paginator\nPaginator to generate page numbers for pagination\n\n[](https://travis-ci.org/sujeetkv/py-paginator)\n\n## Usage Example with flask framework\n\n- **app.py**:\n\n```python\nfrom flask import Flask, request, render_template\nfrom py_paginator import Paginator\n\napp = Flask(__name__)\napp.jinja_env.add_extension('jinja2.ext.do')\n\n@app.route('/')\ndef home():\n page = int(request.args.get('page', 1))\n limit = 20\n\n records_count = get_records_count() # get records count from storage\n\n paginator = Paginator(total_items=records_count, item_limit=limit, curr_page=page)\n\n records = get_records(limit=paginator.item_limit, offset=paginator.item_offset) # get records from storage\n\n return render_template('home.html', records=records, paginator=paginator)\n```\n\n Here `paginator.item_limit` and `paginator.item_offset` can be used in database query to apply limit. `paginator` object can be used in templates to create pagination links.\n\n- **templates/macros.html**:\n\n```html\n{#\n :paginator: Paginator object\n :endpoint: flask request endpoint\n :pager: If True it will show a pager instead of numbered pagination\n\n - you can also pass further arguments that will be passed into `url_for()` of every link.\n#}\n{% macro render_pagination(paginator, endpoint=request.endpoint, pager=False) %}\n {% if paginator.has_pages %}\n {% do kwargs.update(request.args) %}\n {% do kwargs.pop('page', None) %}\n \n {% endif %}\n{% endmacro %}\n```\n\n- **templates/home.html**:\n\n```html\n{% from \"macros.html\" import render_pagination with context %}\n\n
{{ loop.index + paginator.item_offset }} - {{ record.field_name }}
\n{% else %}\nNo Records found.
\n{% endfor %}\n\n{{ render_pagination(paginator) }}\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sujeetkv/py-paginator", "keywords": "paginator py_paginator py-paginator", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "py-paginator", "package_url": "https://pypi.org/project/py-paginator/", "platform": "any", "project_url": "https://pypi.org/project/py-paginator/", "project_urls": { "Homepage": "https://github.com/sujeetkv/py-paginator" }, "release_url": "https://pypi.org/project/py-paginator/1.0.2/", "requires_dist": null, "requires_python": ">=2.7", "summary": "Paginator to generate page numbers for pagination", "version": "1.0.2" }, "last_serial": 4565244, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "40fe2e183f04c1bae786e5068d9397c8", "sha256": "0c2b1691d33d75eec29e85fb8e92e2634b6483bc9fdade3e70fd54924be38fa8" }, "downloads": -1, "filename": "py_paginator-1.0.1.tar.gz", "has_sig": false, "md5_digest": "40fe2e183f04c1bae786e5068d9397c8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 4835, "upload_time": "2018-12-04T20:59:09", "url": "https://files.pythonhosted.org/packages/bf/d6/8388ce21173e7b4df9e2606342d4219c3a08f20c6bb7e2925e13355694bc/py_paginator-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "0887a97c91ccdecb0adbdc9fbd0d2e36", "sha256": "3206b7e9c4c8ac877ea2b9ee16915c32784a8e0f5d2ced3e762cd3419ce714e5" }, "downloads": -1, "filename": "py_paginator-1.0.2.tar.gz", "has_sig": false, "md5_digest": "0887a97c91ccdecb0adbdc9fbd0d2e36", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5276, "upload_time": "2018-12-05T19:59:30", "url": "https://files.pythonhosted.org/packages/f6/d7/ac3e73338d4843790b590d9208da313ae84a20155c6dac78419d242de490/py_paginator-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0887a97c91ccdecb0adbdc9fbd0d2e36", "sha256": "3206b7e9c4c8ac877ea2b9ee16915c32784a8e0f5d2ced3e762cd3419ce714e5" }, "downloads": -1, "filename": "py_paginator-1.0.2.tar.gz", "has_sig": false, "md5_digest": "0887a97c91ccdecb0adbdc9fbd0d2e36", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 5276, "upload_time": "2018-12-05T19:59:30", "url": "https://files.pythonhosted.org/packages/f6/d7/ac3e73338d4843790b590d9208da313ae84a20155c6dac78419d242de490/py_paginator-1.0.2.tar.gz" } ] }