{ "info": { "author": "Harris Lapiroff", "author_email": "harris@freedom.press", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Framework :: Wagtail", "Framework :: Wagtail :: 1", "Framework :: Wagtail :: 2", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "# Wagtail Foliage\n\n[![CircleCI](https://circleci.com/gh/harrislapiroff/wagtail-foliage.svg?style=svg)](https://circleci.com/gh/harrislapiroff/wagtail-foliage)\n\nUtilities for programmatically building page trees in Wagtail for automated\ntests, default site structures, and more.\n\n## Requirements\n\nWagtail Foliage supports:\n\n* Python 3.4, 3.5, 3.6, and 3.7\n* Django 1.11, 2.0, and 2.1\n* Wagtail 1.13, 2.3, and 2.4\n\nThese are the currently supported versions for each project as of December\n2018, excepting the exclusion of Python 2.7 from this list.\n\n## Installation\n\n```shell\npip install wagtail-foliage\n```\n\n## Usage\n\n### Use as a context manager\n\n```python\nfrom django.db import TestCase\nfrom foliage.contextmanagers import page_tree\n\nfrom myapp.models import HomePage, InsidePage\n\n\nclass MyAppTestCase(TestCase):\n def test_with_pages(self):\n PAGES = [\n (HomePage(title='Home Page'), [\n InsidePage(title='Inside Page'),\n (InsidePage(title='Inside Page With Children'), [\n InsidePage(title='Third Level Page'),\n InsidePage(title='Another Third Level Page')\n ])\n ])\n ]\n with page_tree(PAGES):\n # Tests that rely on that page tree go here. The context manager\n # will automatically set the top level page as the Wagtail site's\n # root page\n```\n\n### Use as a decorator\n\n```python\nfrom django.db import TestCase\nfrom foliage.contextmanagers import page_tree\n\nfrom myapp.models import HomePage, InsidePage\n\n\nPAGES = [\n (HomePage(title='Home Page'), [\n InsidePage(title='Inside Page'),\n (InsidePage(title='Inside Page With Children'), [\n InsidePage(title='Third Level Page'),\n InsidePage(title='Another Third Level Page')\n ])\n ])\n]\n\n\nclass MyAppTestCase(TestCase):\n @page_tree(PAGES)\n def test_with_pages(self):\n # Tests that rely on that page tree go here. The context manager\n # will automatically set the top level page as the Wagtail site's\n # root page\n```\n\n### Use the low-level API\n\n```python\nfrom foliage.utils import build_page_tree\n\nfrom myapp.models import HomePage, InsidePage\n\nnew_pages = build_page_tree([\n (HomePage(title='Home Page'), [\n InsidePage(title='Inside Page'),\n (InsidePage(title='Inside Page With Children'), [\n InsidePage(title='Third Level Page'),\n InsidePage(title='Another Third Level Page')\n ])\n ])\n])\n```\n\n\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/harrislapiroff/wagtail-foliage", "keywords": "", "license": "BSD-3-Clause", "maintainer": "", "maintainer_email": "", "name": "wagtail-foliage", "package_url": "https://pypi.org/project/wagtail-foliage/", "platform": "", "project_url": "https://pypi.org/project/wagtail-foliage/", "project_urls": { "Homepage": "https://github.com/harrislapiroff/wagtail-foliage" }, "release_url": "https://pypi.org/project/wagtail-foliage/0.1.1/", "requires_dist": [ "typing (>=3.6.6)", "wagtail (>=1.11)", "Sphinx (>=1.7) ; extra == 'docs'", "sphinx-rtd-theme (>=0.4.0) ; extra == 'docs'", "tox ; extra == 'test'", "pytest (>=3.5) ; extra == 'test'", "pytest-django (>=3.2) ; extra == 'test'", "pytest-pythonpath (>=0.7.2) ; extra == 'test'" ], "requires_python": "", "summary": "Utilities for programatically constructing page trees in Wagtail", "version": "0.1.1" }, "last_serial": 4622714, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "2615593b201628707391c9d6745a1a2b", "sha256": "027b0551b6f979b0c9ecf14d63c44b4932c56297ac931612e6f59b8ed5f60f3d" }, "downloads": -1, "filename": "wagtail_foliage-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2615593b201628707391c9d6745a1a2b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9495, "upload_time": "2018-12-20T22:04:46", "url": "https://files.pythonhosted.org/packages/25/01/6b9dd630f8aa12a06af3dc7620ebff124551346adb803b3eb9dd042549fd/wagtail_foliage-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41f32fa9d51b370b476f48efecb62214", "sha256": "56aeed96fae21409a1c882b0127131e010fba724414f9a5cbc5a40a91ed34d33" }, "downloads": -1, "filename": "wagtail-foliage-0.1.1.tar.gz", "has_sig": false, "md5_digest": "41f32fa9d51b370b476f48efecb62214", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6510, "upload_time": "2018-12-20T22:04:48", "url": "https://files.pythonhosted.org/packages/c8/52/5d99db80efa26052459fed0aedaee2a745f33eda557b53407882a8fcec63/wagtail-foliage-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2615593b201628707391c9d6745a1a2b", "sha256": "027b0551b6f979b0c9ecf14d63c44b4932c56297ac931612e6f59b8ed5f60f3d" }, "downloads": -1, "filename": "wagtail_foliage-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2615593b201628707391c9d6745a1a2b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9495, "upload_time": "2018-12-20T22:04:46", "url": "https://files.pythonhosted.org/packages/25/01/6b9dd630f8aa12a06af3dc7620ebff124551346adb803b3eb9dd042549fd/wagtail_foliage-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41f32fa9d51b370b476f48efecb62214", "sha256": "56aeed96fae21409a1c882b0127131e010fba724414f9a5cbc5a40a91ed34d33" }, "downloads": -1, "filename": "wagtail-foliage-0.1.1.tar.gz", "has_sig": false, "md5_digest": "41f32fa9d51b370b476f48efecb62214", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6510, "upload_time": "2018-12-20T22:04:48", "url": "https://files.pythonhosted.org/packages/c8/52/5d99db80efa26052459fed0aedaee2a745f33eda557b53407882a8fcec63/wagtail-foliage-0.1.1.tar.gz" } ] }